Linux内存占用常用的几个分析方法,你确定都知道?( 五 )


语法top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]参数说明:d : 改变显示的更新速度 , 或是在交谈式指令列( interactive command)按 sq : 没有任何延迟的显示速度 , 如果使用者是有 superuser 的权限 , 则 top 将会以最高的优先序执行c : 切换显示模式 , 共有两种模式 , 一是只显示执行档的名称 , 另一种是显示完整的路径与名称S : 累积模式 , 会将己完成或消失的子进程 ( dead child process ) 的 CPU time 累积起来s : 安全模式 , 将交谈式指令取消, 避免潜在的危机i : 不显示任何闲置 (idle) 或无用 (zombie) 的进程n : 更新的次数 , 完成后将会退出 topb : 批次档模式 , 搭配 "n" 参数一起使用 , 可以用来将 top 的结果输出到档案内举例

Linux内存占用常用的几个分析方法,你确定都知道?

文章插图
 
第一行 , 任务队列信息 , 同 uptime 命令的执行结果
系统时间:02:19:10 运行时间:up 2:26 min, 当前登录用户: 1 user 负载均衡(uptime) load average: 0.00, 0.06, 0.07 average后面的三个数分别是1分钟、5分钟、15分钟的负载情况 。load average数据是每隔5秒钟检查一次活跃的进程数 , 然后按特定算法计算出的数值 。如果这个数除以逻辑CPU的数量 , 结果高于5的时候就表明系统在超负荷运转了
第二行 , Tasks — 任务(进程)
总进程:229 total, 运行:1 running, 休眠:163 sleeping, 停止: 0 stopped, 僵尸进程: 0 zombie
第三行 , cpu状态信息
0.7%us【user space】— 用户空间占用CPU的百分比 。1.0%sy【sysctl】— 内核空间占用CPU的百分比 。0.0%ni【】— 改变过优先级的进程占用CPU的百分比 97.9%id【idolt】— 空闲CPU百分比 0.3%wa【wait】— IO等待占用CPU的百分比 0.0%hi【Hardware IRQ】— 硬中断占用CPU的百分比 0.0%si【Software Interrupts】— 软中断占用CPU的百分比
第四行,内存状态
2017504 total, 653616 free, 1154200 used, 209688 buff/cache【缓存的内存量】
第五行 , swap交换分区信息
998396 total, 771068 free, 227328 used. 635608 avail Mem
第七行以下:各进程(任务)的状态监控
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 — 进程名称(命令名/命令行)
常用实例
  • 显示进程信息
# top
  • 显示完整命令
# top -c
  • 以批处理模式显示程序信息
# top -b
  • 以累积模式显示程序信息
# top -S
  • 设置信息更新次数
top -n 2//表示更新两次后终止更新显示
  • 设置信息更新时间
# top -d 3//表示更新周期为3秒
  • 显示指定的进程信息
# top -p 139//显示进程号为139的进程信息 , CPU、内存占用率等
  • 显示更新十次后退出
top -n 10五、htop 指令htop 它类似于 top 命令 , 但可以让你在垂直和水平方向上滚动 , 所以你可以看到系统上运行的所有进程 , 以及他们完整的命令行 。
可以不用输入进程的 PID 就可以对此进程进行相关的操作 (killing, renicing) 。
htop快照:
Linux内存占用常用的几个分析方法,你确定都知道?

文章插图
 
可以使用快捷键
F1,h,?:查看htop使用说明 , F2,s:设置选项F3,/:搜索进程F4,:过滤器 , 输入关键字搜索F5,t:显示属性结构F6,<,>:选择排序方式F7, [,:减少进程的优先级(nice)F8 , ] :增加进程的优先级(nice)F9 , k :杀掉选中的进程F10 , q:退出htopu:显示所有用户 , 并可以选中某一特定用户的进程U:取消标记所有的进程


推荐阅读