感谢支持
我们一直在努力

Linux top free命令学习笔记

直接查看man top 或者man free即可查看其更详细的使用,这里简单介绍一下基本功能及输出。


free 用来显示所有可用及已经使用的系统内存数,包括物理内存总数及使用量、交换区、buffer、共享内存等,其参数及含义如下:


使用格式: free [-b | -k | -m | -g] [-o] [-s delay ] [-t] [-V]


-b -k -m -g这四个是输出单位参数,分别表示输出数值的单位为BYTE、KB、MB及GB


-t显示汇总行total


-o不显示+/-buffers行


-V显示版本号


-s刷新时间 如free -ms2会每2秒刷新一次


输出结果列包括:


物理内存总数、已使用物理内存数、可使用物理内存数、共享内存数、buffers和cached数


-/+buffers/cache表示已使用的数量减去用作cached和buffers数后真正现在使用掉的内存数,及可用量加上cached和buffers后真正可使用的量


buffer和cache的区别在于,buffer是读写的缓冲区,而cache是将硬盘的东西放一部分到内存中来,如果访问的东东在里面,则有命中的概念,而buffer没有命令的概念


top动态实时显示进程对资源的使用情况,定时刷新,top指令对系统的性能会有比较大的损耗


top命令运行后,显示分为基本信息汇总区和进程区。基本信息汇总区显示了进程、cpu、内存、swap分区的使用情况概述,进程区显示了各个进程对资源的具体使用情况。


第一行显示:系统运行了10天又4小时16分,当前1个用户登录,过去5、10、15分钟的load average是1.12,1.50,1.43.由于是8核,因此load是很低的,通过上面的free命令可以看到,内存是目前102环境上的瓶颈。


第二行显示:有182个进程在运行,1个正在运行,181个休眠,0个停止,0个僵死


第三行显示:cpu有5.5%us用户使用率,0.6%sy系统使用率,0.0%ni表示各进程间更改nice值所用的时间,93.8%id系统idle(空闲)的时间,0.0%wa为io等待cpu的时间,hi表示软中断占cpu的时间,si表示硬中断占cpu的时间,st表示流逝时间(监控程序未监控到的)


第四和第五行的内存及swap区情况比较简单明了,free命令也有描述,不再多说。


任务区输出列的含义如下(默认情况下只显示一部分列):


PID 进程id


PPID 父进程id


RUSER Real user name


UID 进程所有者的用户id


USER 进程所有者的用户名


GROUP 进程所有者的组名


TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?


PR 优先级


NI nice值。负值表示高优先级,正值表示低优先级


P 最后使用的CPU,仅在多CPU环境下有意义


%CPU 上次更新到现在的CPU时间占用百分比


TIME 进程使用的CPU时间总计,单位秒


TIME+ 进程使用的CPU时间总计,单位1/100秒


%MEM 进程使用的物理内存百分比


VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES


SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。


RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA


CODE 可执行代码占用的物理内存大小,单位kb


DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb


SHR 共享内存大小,单位kb


nFLT 页面错误次数


nDRT 最后一次写入到现在,被修改过的页面数。


S 进程状态。


D=不可中断的睡眠状态


R=运行


S=睡眠


T=跟踪/停止


Z=僵尸进程


COMMAND 命令名/命令行


WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名

Flags 任务标志


默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。


更改显示内容


通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。


按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。


按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。


使用格式及参数说明


top [-] [d] [p] [c] [C] [S] [s] [n]


参数说明


d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。


p 通过指定监控进程ID来仅仅监控某个进程的状态。


S 指定累计模式


s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。


i 使top不显示任何闲置或者僵死进程。


c 显示整个命令行而不只是显示命令名


n 指定刷新次数


下面介绍在top命令执行过程中可以使用的一些交互命令。从使用角度来看,熟练的掌握这些命令比掌握选项还重要一些。这些命令都是单字母的,如果在命令行选项中使用了s选项,则可能其中一些命令会被屏蔽掉。


  Ctrl+L 擦除并且重写屏幕。


  h或者? 显示帮助画面,给出一些简短的命令总结说明。这个命令可在使用过程中主要使用。


  k 终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。


  i 忽略闲置和僵死进程。这是一个开关式命令。


  q 退出程序。


  r 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。


  S 切换到累计模式。


  s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。


  f或者F 从当前显示中添加或者删除项目。


  o或者O 改变显示项目的顺序。


  l 切换显示平均负载和启动时间信息。


  m 切换显示内存信息。


  t 切换显示进程和CPU状态信息。


  c 切换显示命令名称和完整命令行。


  M 根据驻留内存大小进行排序。


  P 根据CPU使用百分比大小进行排序。


  T 根据时间/累计时间进行排序。


W 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux top free命令学习笔记
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏