Linux下查询内存、CPU、磁盘使用情况的常用命令
1、free命令 free 命令会显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存等。释义: Mem:内存使用情况。 Swap:交换空间(虚拟内存)使用情况。 total:系统总共可用物理内存、交换空间大小,即内存总数。 used:已经被使用的物理内存、交换空间大小,即已使用的内存数。 free:剩余可用物理内存、交换空间大小,即空闲的内存数。 shared
1、free命令
free 命令会显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存等。
释义:
Mem:内存使用情况。
Swap:交换空间(虚拟内存)使用情况。
total:系统总共可用物理内存、交换空间大小,即内存总数。
used:已经被使用的物理内存、交换空间大小,即已使用的内存数。
free:剩余可用物理内存、交换空间大小,即空闲的内存数。
shared:被共享使用的物理内存大小,即当前已废弃不用。
buff/cache:被 buffer 和 cache 使用的物理内存大小。
buffers:系统分配但未被使用的缓冲区
cached:系统分配但未被使用的缓存
(buffers和cached区别:A buffer is something that has yet to be “written” to disk.
A cache is something that has been “read” from the disk and stored for later use(缓冲区还没有被写入磁盘。 缓存是从磁盘“读取”并存储以备后用的))
available:还可以被应用程序使用的物理内存大小。
程序已用内存数
-(buffers/cached):used mem行 used - buffers - cached
(反应为被程序实实在在吃掉的内存)
程序可用内存数
+(buffers/cached):free mem行 free+buffers+cached
(可以挪用的内存总数)
常见用法:
free -h //以更友好的方式显示,会以K、M、G为单位来显示
free -h -s 3 //以一定时间间隔重复的输出,这个命令是每3秒输出
free 命令中的信息都来自于 /proc/meminfo 文件。
如何判断系统内存不足:
如果Swap used值大于0,代表服务器物理内存已经遇到内存瓶颈了,已开始使用虚拟内存了,要么优化代码,要么加内存。
2、vmstat命令
vmstat 是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控,是对系统的整体情况进行的统计。
与内存使用情况相关的是memory列和swap列,我们只看这两列。
memory列
swpd:使用的虚拟内存大小。
free:空闲物理内存大小。
buff:buffer cache内存大小。
cache:page cache的内存大小。
swap列
si:每秒从交换区读入到内存的大小,由磁盘调入内存(单位:kb/s)
so:每秒从内存写出到交换区的大小,由内存调入磁盘(单位:kb/s)
常见用法:
vmstat 1 //每隔1s打印一次
vmstat 1 5 //每隔1秒打印一次,打印五次
vmstat -s //显示内存相关统计信息及多种系统活动数量
3、top命令
使用top命令,可以查看正在运行的进程和系统负载信息,包括cpu负载、内存使用、各个进程所占系统资源等,top命令以一定频率动态更新这些统计信息。
反映系统内存使用状况的是下面这两行:
Mem行是物理内存使用情况,分别是:物理内存总量,已使用的物理内存总量,空闲物理内存总量,用作内核缓存区的内存量。
Swap行是交换区使用情况,分别是:交换区总量,已使用的交换区总量,空闲交换区总量,缓冲的交换区总量。
Top命令的下侧区域显示的是各个进程使用的系统资源统计信息,内存相关列如下:
- VIRT列:进程使用的虚拟内存总量,单位kb。
- RES列:进程使用的、未被换出的物理内存大小,单位kb。
- SHR列:共享内存大小,单位kb。
- %MEM 列:进程使用的物理内存百分比。
上图S列用来判断运行状态,其中s:sleep; r:run; Z: 僵尸(代表:进程已经死了,但还在占用进程,服务器资源未释放)
i:代表短时在切换资源
用下图画红框内容来判定系统是否负载过高(同命令uptime显示效果)
4、cat /proc/meminfo
/proc/meminfo是了解Linux系统内存使用状况的主要接口,我们最常用的”free”、”vmstat”等命令就是通过它获取数据的。/proc/meminfo所包含的信息比”free”等命令要丰富得多,但也很复杂,不再一一解释了。感兴趣的话可以看看这篇文章:/proc/meminfo之谜 | Linux Performance,对 /proc/meminfo 有较详细的解释。
5、 ps aux命令
ps aux 命令可以查看系统中各个进程的运行情况,包括了进程占用的内存,%MEM 列就是各个进程的内存占用百分比。
6、显示磁盘命令
更多推荐
所有评论(0)