龙空技术网

原创 | Linux内存管理的5大命令总结,值得收藏

IT电脑免费服务 684

前言:

今天兄弟们对“ubuntuproc满了”大约比较看重,各位老铁们都想要分析一些“ubuntuproc满了”的相关资讯。那么小编也在网摘上网罗了一些关于“ubuntuproc满了””的相关内容,希望同学们能喜欢,小伙伴们快快来了解一下吧!

本文介绍5个强大的内存管理命令。这些命令适用于Linux所有的发行版。文中的命令及输出结果,均以Ubuntu 18.04为例。

/proc/meminfofreevmstattophtop

在开始介绍之前,有必要重点说一下内存Buffer和Cache的区别。

Buffer:是对磁盘块数据的缓存,直接对磁盘块进行读写,也是“裸IO”。

Cache:是对文件页数据的缓存,通过文件系统进行读写。

简单说,两者都是内存中的缓存,一个是磁盘块缓存,一个是文件页缓存。

/proc/meminfo

在终端中输入cat /proc/meminfo,将打开/proc/meminfo文件。

这是一个虚拟文件,记录着内存的可用和已用的容量。该文件包含系统内存、缓冲区以及内核共享内存的实时使用情况。不同的操作系统,该文件内容格式可能略有区别。

free

free命令用来显示物理内存和交换区的使用情况。

上图各列含义如下:

total - 内存总容量used - 内存已分配容量free - 内存未分配容量shared - 共享内存容量buff/cache - 块缓存+页缓存容量available - 开启新应用可用容量

另外,free命令还提供了一些参数格式化输出结果

-b 以字节为单位输出

-k 以KB为单位输出

-m 以MB为单位输出

-g 以GB为单位输出

-t 输出内存总容量(RAM+SWAP)

-s 以[n]秒间隔更新数据

-c 更行[n]次

vmstat

vmstat命令提供了关于进程,内存,分页,IO及CPU活动等统计信息。

上图的分段参数,解释一下:

procsr:等待运行的进程数b:睡眠的进程数memoryswpd:虚拟内存已用容量free:空闲内存容量buff:块缓存内存容量cache:页缓存内存容量swapsi:每秒从磁盘读入内存的字节数

so:每秒从内存读入磁盘的字节数iobi:每秒从块设备读取的块数

bo:每秒向块设备写入的块数systemin:每秒系统中断的次数

cs:每秒上下文切换的次数cpuus:运行非内核代码(用户)的时间

sy:运行内核代码(系统)的时间id:空闲时间wa:等待IO的时间st:虚拟机占用时间

top

top命令用来查看内存和CPU的实时使用情况。

如上图所示,查询结果包括:

up:系统运行时间、用户数load average: 1分钟负载率、5分钟负载率、15分钟负载率tasks:总任务数、运行任务数、睡眠任务数、停止任务数、僵尸任务数%CPU:用户占用率、内核占用率、变更优先级进程占用率、空闲率、等待占比、硬中断占比、软中断占比、虚拟机占比KiB Mem:总容量、未分配容量、已分配容量、块缓存+页缓存容量Kib Swap:总容量、未分配容量、已分配容量、可用容量进程:进程id、用户、进程优先级、Nice值、虚拟内存、RES值、共享内存、进程状态、CPU占用率、内存占用率、进程占用CPU时间、启动命令

htop

htop是top命令的增强版,提供了和top命令类似的功能;但是它在界面显示及操作上做了比较大的改进,比如着色输出、垂直和水平滚动等。

htop命令分三部分显示:

概况区显示进程运行的统计汇总信息进程区显示每个进程的详细信息,与top类似操作区提供了进程操作选项

以上通过5个命令对Linux内存管理进行了详细的讲解,喜欢请点赞收藏。更多好文,请查阅往期分享。

标签: #ubuntuproc满了 #linux 内存命令