Linux命令总结

top

top - 09:32:58|up 61 days, 11:18|1 user|load average: 0.04, 0.05, 0.09
当前系统时间|系统已运行时间|在线用户,包含系统用户|系统负载。分别是1,5,15分钟前到潜在的平均值

Tasks|227 total| 1 running|225 sleeping|1 stopped|0 zombie
|总进程数|正在运行的进程数|正在睡眠的进程数|停止的进程数|僵死进程数

%Cpu(s)|0.8 us| 1.0 sy| 0.0 ni| 98.2 id|0.0 wa| 0.0 hi| 0.0 si|0.0 st
us:用户进程占用cpu百分率
sy:系统占用cpu百分率
ni:用户进程空间内改变过优先级的进程占用CPU百分比
id:cpu空闲率
wa:等待IO的CPU时间百分比
hi:硬中断(Hardware IRQ)占用CPU的百分比
si:软中断(Software Interrupts)占用CPU的百分比
st:虚拟机占用百分比

KiB Mem|8175028 total|635844 free|3024460 used|4514724 buff/cache
|内存总量|内存空闲量|内存使用量|缓存的内存量 

KiB Swap|15624016 total|15606756 free|17260 used| 4678020 avail Mem
|交换区总量|交换区空闲量|交换区使用量|缓冲交换区总量

排序

  • P键 按照cpu使用率排序
  • M键 按照内存使用率排序
  • l键 切换显示平均负载和启动时间信息
  • m键 切换显示内存信息
  • t键 切换显示进程和cpu状态信息
  • c键 切换显示命令名称和完成命令行信息

buff/cache

buff cache
缓冲区,用于存储速度不同步的设备或优先级不同的设备之间传输数据;通过buffer可以减少进程间通信需要等待的时间,当存储速度快的设备与存储速度慢的设备进行通信时,存储慢的数据先把数据存放到buffer,达到一定程度存储快的设备再读取buffer的数据,在此期间存储快的设备CPU可搜索以干其他的事情 缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而 Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能
一般是用在写入磁盘的,例如:某个进程要求多个字段被读入,当所有要求的字段被读入之前已经读入的字段会先放到buffer中 Cache并不是缓存文件的,而是缓存块的(块是I/O读写最小的单元);Cache一般会用在I/O请求上,如果多个进程要访问某个文件,可以把此文件读入Cache中,这样下一个进程获取CPU控制权并访问此文件直接从Cache读取,提高系统性能

字段含义

PID:进程号
USER:进程创建者
PR:进程优先级
NI:nice值,值越小优先级越高,最小-20,最大20(用户设置最大19)
VIRT:进程使用的虚拟内存总量单位kb。VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,RES=CODE+DATA
SHR:共享内存大小,单位kb
S:进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU:进程占用CPU时间百分比
%MEM:进程占用内存百分比
TIME+:进程运行时间,单位1/100秒
COMMAND:进程名称(命令名/命令行)

僵尸进程

  • linux内核在进程终止时不会立刻包含在进程描述字段中的数据,只有父进程发出与被终止进程相关的wait类系统调用之后,才允许这么做。如何一个进程已经终止,但其父进程尚未调用wait() 或 waitpid()进行清理,此时进程状态为僵死状态,处于僵死状态的进程成为僵尸进程。僵尸进程无法通过kill清楚,可通过杀死其父进程使僵尸进程成为孤儿进程,从而被系统中管理孤儿进程的进程收养并清理。
阅读 208

推荐阅读