参考:https://www.cnblogs.com/qinxu/p/9649129.html
1.top :实时显示process的动态
参考:https://www.cnblogs.com/niuben/p/12017242.html (这篇文章就够了)
第一行:任务队列信息,同uptime命令
系统时间:07:27:05; 运行时间:up 1:57; 当前登录用户:3 user; 负载均衡(uptime)load average:0.00 ;
第二行:Tasks - 任务(进程)
总进程:150 total; 运行: 1 running; 休眠:149 sleeping; 停止:0 stopped; 僵尸进程:0 zombie;
第三行:cpu状态信息
us(user space):用户空间占用cpu的百分比
sy(sysctl):内核空间占用cpu的百分比
ni:改变过优先级的进程占用cpu的百分比
id(idolt):空闲cpu百分比
wa(wait):IO等待占用cpu的百分比
hi(Hardware IRQ):硬中断占用cpu的百分比
si(Software Interrupts):软件中断占用cpu的百分比
第四行:内存状态
buffers:缓存的内存量
第五行:swap交换分区信息
cached:缓冲的交换区总量
ps:可用内存 = free + buffer + cached
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断的进行内存和swap的数据交换,说明内存真正的不够用了。
第四行中使用的内存总量(used)值得是现在操作系统内核控制的内存数。
第四行中空闲内存总量(free)是内核还未纳入其管控范围的数量。
纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去。
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S —进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
2.free:查看系统内存使用情况
total:总计物理内存的大小
used:已使用多大
free:可用有多少
shared:多个进程共享的内存总额
buff/cached:磁盘缓存的大小
3.cat /proc/meminfo:查看RAM使用情况最简单的方法
这个动态更新的虚拟文件实际上是许多其他内存相关工具(如: free/ps/top)等的组合显示
进程的内存使用信息也可以通过/proc/<pid>/statm 和 /proc/<pid>/status 来查看。