linux中的top命令

一.top命令

linux中的top命令_第1张图片

 

第一行,任务队列信息,同 uptime 命令的执行结果

系统时间:16:09:44              运行时间:up64 days,  1:10            当前登录用户:  1 user

负载均衡(uptime)  load average: 0.00, 0.01, 0.05,三个数分别是1分钟、5分钟、15分钟的负载情况。load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行,Tasks — 任务(进程)

总进程:114total,   运行:1 running,   休眠:113sleeping, 停止: 0 stopped, 僵尸进程: 0 zombie

第三行,cpu状态信息

0.2%us【user space】— 用户空间占用CPU的百分比。
0.3%sy【sysctl】— 内核空间占用CPU的百分比。
0.0%ni【】— 改变过优先级的进程占用CPU的百分比
99.7%id【idolt】— 空闲CPU百分比
0.0%wa【wait】— IO等待占用CPU的百分比
0.0%hi【Hardware IRQ】— 硬中断占用CPU的百分比
0.0%si【Software Interrupts】— 软中断占用CPU的百分比

第四行,内存状态(物理内存)

7733528k total,   4490188k used,   147412k free,    3095928k buffers【缓存的内存量】
 
第五行,swap交换分区信息(交换空间)

0k total,        0k used,   0k free,    2891000k avail Mem【表示可用于进程下一次分配的物理内存数量】

可用内存=free + buffer + cached
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

第七行以下:各进程(任务)的状态监控

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 — 进程名称(命令名/命令行)

二.使用

1.用top命令指定固定的PID

 ps -ef|grep omsacc

cloud-u+  4680  4678  0 Mar10 ?        00:47:06 /apps/jdk1.7.0_60/bin/java -Djava.util.logging.config.file=/apps/omsacc/omsacc-tomcat-8640/conf/logging.properties -

 top -p 4680

linux中的top命令_第2张图片

 

 2.使用ps查询指定进程名或者PID的占用情况

ps -aux | grep omsacc  或者 ps -aux | grep 4680
cloud-u+  4680  0.0  9.8 3704608 762316 ?      Sl   Mar10  47:08 /apps/jdk1.7.0_60/bin/java -Djava.util.logging.config.file=/apps/omsacc/omsacc-tomcat-8640/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms1024m -Xmx2048m -XX:PermSize=128m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8646 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899 -classpath /apps/omsacc/omsacc-tomcat-8640/bin/bootstrap.jar:/apps/omsacc/omsacc-tomcat-8640/bin/tomcat-juli.jar -Dcatalina.base=/apps/omsacc/omsacc-tomcat-8640 -Dcatalina.home=/apps/omsacc/omsacc-tomcat-8640 -Djava.io.tmpdir=/apps/omsacc/omsacc-tomcat-8640/temp org.apache.catalina.startup.Bootstrap start

4680为PID

0.0为CPU占用百分比(注意:如果有两个CPU,32核64线程,那么总占比是6400%)

9.8为内存占用百分比

 

3.查看更详细的内存占比

cat /proc/4680/status

linux中的top命令_第3张图片

你可能感兴趣的:(linux)