top命令 动态查看进程的变化
第一行(top...)
目前的时间
开机到目前为止所经过的时间
已经登录系统用户的人数
系统在1,5,15分钟的平均工作负载
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行(Tasks...)
目前进程的总量与个别进程在什么状态(running,sleeping,stopped,zombie)
第三行(Cpus...)
CPU的整体负载(按数字键"1"来切换成不同CPU的负载率)
6.7% us 用户空间占用CPU的百分比。
0.4% sy 内核空间占用CPU的百分比。
0.0% ni 改变过优先级的进程占用CPU的百分比
92.9% id 空闲CPU百分比
0.0% wa IO等待占用CPU的百分比
0.0% hi 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si 软中断(Software Interrupts)占用CPU的百分比
第四行与第五行
目前的物理内存和虚拟内存(Mem/Swap)的使用情况
8306544k total 物理内存总量(8GB)
7775876k used 使用中的内存总量(7.7GB)
530668k free 空闲内存总量(530M)
79236k buffers 缓存的内存量 (79M)
2031608k total 交换区总量(2GB)
2556k used 使用的交换区总量(2.5M)
2029052k free 空闲交换区总量(2GB)
4231276k cached 缓冲的交换区总量(4GB)
第六行
每个进程的使用资源情况:
PID 每个进程的ID
USER 该进程的所属用户
PR:Priority的简写,进程的优先执行顺序,越小越早被执行
NI:Nice的简写,与Priority有关,也是越小越早被执行
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU:CPU的使用率
%MEM:内存的使用率
TIME+:CPU使用时间的累加
top默认使用CPU使用率(%CPU)作为排序的重点,如果要使用内存使用率排序,则可以按下"M",若要恢复则按下"P"即可
范例一:
每两秒钟更新一次top,查看整体信息
top -d 2
范例二:
将top的信息进行2次,然后将结果输出到/tmp/top.txt
top -b -n 2>/tmp/top.txt
范例三:
我们自己的bash PID可由$$变量取得,请使用top持续查看该PID
echo $$
top -d 2 -p `echo $$`
范例四:
承上题,上面的NI值是0,想要改成10的话呢?
在范例三的top界面下,按下r然后输入这个PID号码,再输入nice值。
监控java线程数:
ps -eLf | grep java | wc -l
监控网络客户连接数:
netstat -n | grep tcp | grep 侦听端口 | wc -l