天天看點

linux中的top指令

一.top指令

linux中的top指令

第一行,任務隊列資訊,同 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.使用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指令

繼續閱讀