进程管理经常用到的工具有:top、htop、glances、dstat,下面一一介绍。 htop、glances、dstat都是epel源里面的工具,需要单独安装。 推荐阿里云的yum镜像站点: top命令 top命令常用参数: -d 1 # 设置刷新时间间隔为1s【默认是3秒】 -b # 批显示模式 -n 接数字 # 设置显示迭代的次数 -b -n 3# 批显示模式,显示3次即退出top命令 -U 用户名 # 仅显示对应用户的top命令进程信息
load average: 三个数分别代表不同时间段的系统平均负载(一分钟、五分钟、以及十五分钟) 使用top命令或者uptime命令查看系统负载,如果这个数除以CPU的数目(grep 'model name' /proc/cpuinfo |wc -l),所得值大于5就表明系统在超负荷运转。 在top运行界面,各按键对应的功能如下: M 按照内存占用大小排序。 P 按照CPU占用率排序 T 按照累计占据CPU的时长排序 l 显示或隐藏load average和启动时间 m 显示或隐藏Memory、swap占有率 t 显示或隐藏进程summary信息及CPU使用信息 c 显示完整的命令行信息 q 退出top命令 V 树状视图(CentOS 7上支持) 输入d 会提示修改top命令的刷新时间间隔。 输入k 会提示输入pid号以结束对应的进程。 输入r 会提示输入pid号以修改对应的nice值 CPU信息一行(如下图)所对应的英文缩写
us = user mode 用户空间占用CPU的百分比 sy = system mode内核空间占用CPU的百分比 ni = low priority user mode (nice) 改变过优先级的进程占用CPU的百分比 id = idle task 空闲CPU百分比 wa = I/O waiting IO等待占用CPU的百分比 hi = servicing IRQs硬中断(Hardware IRQ)占用CPU的百分比 si = servicing soft IRQs软中断(Software Interrupts)占用CPU的百分比 st = steal (time given to other DomU instances) 被偷走的时间这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。
htop命令 top命令很老了,htop支持鼠标操作,更加人性化,支持鼠标。 htop是epel源里面的文件,请确保epel源配置正确。 yum install htop -y 终端界面直接输入htop即可,如下图:
在htop界面,常用如下操作:
按l键(小写字母),列出指定进程打开的文件列表 按a键,将选定的进程绑定至某指定CPU核心 按s键,跟踪选定进程的系统调用
htop的常用的几个命令行选项: -s 选项 # sort 按指定的列排序,如htop -s PID -u 用户名 # 显示指定用户名的进程信息 -d 数值 # 修改htop刷新时间间隔 glances命令 glances的牛逼之处在于可以自动高亮利用最高系统资源的程序,并为Linux提供尽可能多的信息。 glances工具属于epel源里面的,是一款跨平台的系统资源监视器。 运行效果如下图:
glances命令: 参数: glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [--password] [-t refresh] [-f file] [-o output] 内建命令: a Sort processes automatically l Show/hide logs c Sort processes by CPU% b Bytes or bits for network I/O m Sort processes by MEM% w Delete warning logs p Sort processes by name x Delete warning and critical logs i Sort processes by I/O rate 1 Global CPU or per-CPU stats d Show/hide disk I/O stats h Show/hide this help screen f Show/hide file system stats t View network I/O as combination n Show/hide network stats u View cumulative network I/O s Show/hide sensors stats q Quit (Esc and Ctrl-C also work) y Show/hide hddtemp stats 常用选项: -b: 以Byte为单位显示网卡数据速率; -d: 关闭磁盘I/O模块; -f /path/to/somefile: 设定输入文件位置; -o {HTML|CSV}:输出格式; -m: 禁用mount模块 -n: 禁用网络模块 -t #: 延迟时间间隔 -1:每个CPU的相关数据单独显示; C/S模式下运行glances命令: 服务模式: glances -s -B LocalIP -P xxxx # IPADDR: 指明监听于本机哪个地址 # -P 后面接明文密码 客户端模式: glances -c RemoteIP -P xxxx # IPADDR:要连入的服务器端地址 # -P 后面接明文密码 dstat命令 dstat命令运行效果如下:
dstat命令行参数有: -c 显示CPU的相关统计信息 -m 显示内存的相关统计信息 -n 显示网络的相关统计信息 -l 显示负载的相关统计信息(load average) -d 显示Disk相关统计信息 -g 显示page相关统计数据 -p 显示process相关统计数据 -r 显示io请求相关的统计数据 -s 显示swapped相关的统计数据 --tcp --udp --unix --raw --socket --ipc --top-cpu:显示最占用CPU的进程; --top-io: 显示最占用io的进程; --top-mem: 显示最占用内存的进程; --top-lantency: 显示延迟最大的进程; 例如: dstat 3 # 每隔三秒刷新,但最新的数据都会每秒刷新显示。
|