博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
top
阅读量:6182 次
发布时间:2019-06-21

本文共 5267 字,大约阅读时间需要 17 分钟。

hot3.png

#摘录自http://www.jb51.net/article/40807.htm

#top  
top - 14:10:19 up 45 days, 22:42,  2 users,  load average: 1.31, 0.45, 0.23
Tasks: 119 total,   1 running, 118 sleeping,   0 stopped,   0 zombie
Cpu(s): 66.1%us,  0.4%sy,  0.0%ni, 33.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8058056k total,  3893784k used,  4164272k free,   183760k buffers
Swap:        0k total,        0k used,        0k free,  2493600k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

 8328 root      20   0 2567m 401m  14m S 265.0  5.1   1:45.81 java
  962 root      20   0 24516 2444 1944 S  0.3  0.0  47:03.42 AliYunDunUpdate

第一行:

10:01:23 — 当前系统时间
126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)
2 users — 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
 
Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
 
第三行: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的百分比

第四行:内存状态

8306544k total — 物理内存总量(8GB)
7775876k used — 使用中的内存总量(7.7GB)
530668k free — 空闲内存总量(530M)
79236k buffers — 缓存的内存量 (79M)

第五行:swap交换分区

2031608k total — 交换区总量(2GB)
2556k used — 使用的交换区总量(2.5M)
2029052k free — 空闲交换区总量(2GB)
4231276k cached — 缓冲的交换区总量(4GB)

计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:530668+79236+4231276 = 4.7GB。

要时刻监控第五行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 — 进程名称(命令名/命令行)

多U多核CPU监控
在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况:(服务器有*个逻辑CPU,实际上是*个物理CPU。)
Cpu0  :  0.3%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

敲击键盘“x”(打开/关闭排序列的加亮效果),top的视图变化如下:

top默认的排序列是“%CPU”。
通过”shift + >”或”shift + <”可以向右或左改变排序列

敲击“f”键,top进入另一个视图,在这里可以编排基本视图中的显示字段:

这里列出了所有可在top基本视图中显示的进程字段,有”*”并且标注为大写字母的字段是可显示的,没有”*”并且是小写字母的字段是不显示的。如果要在基本视图中显示“CODE”和“DATA”两个字段,可以通过敲击“r”和“s”键:
Current Fields:  AEHIOQTWKNMbcdfgjplrsuvyzX  for window 1:Def
Toggle fields via field letter, type any other key to return
* A: PID        = Process Id
* E: USER       = User Name
* H: PR         = Priority
* I: NI         = Nice value
* O: VIRT       = Virtual Image (kb)
* Q: RES        = Resident size (kb)
* T: SHR        = Shared Mem size (kb)
* W: S          = Process Status
* K: %CPU       = CPU usage
* N: %MEM       = Memory usage (RES)
* M: TIME+      = CPU Time, hundredths
  b: PPID       = Parent Process Pid
  c: RUSER      = Real user name
  d: UID        = User Id
  f: GROUP      = Group Name
  g: TTY        = Controlling Tty
  j: P          = Last used cpu (SMP)
  p: SWAP       = Swapped size (kb)
  l: TIME       = CPU Time
  r: CODE       = Code size (kb)
  s: DATA       = Data+Stack size (kb)
  u: nFLT       = Page Fault count
  v: nDRT       = Dirty Pages count
  y: WCHAN      = Sleeping in Function
  z: Flags      = Task Flags <sched.h>
* X: COMMAND    = Command name/line

 

监控java线程数:
ps -eLf | grep java | wc -l

监控网络客户连接数:

netstat -n | grep tcp | grep 侦听端口 | wc -l

获取某进程中运行中的线程数量(PID指的是进程ID):

ls /proc/PID/task | wc -l
 
pmap,来输出进程内存的状况,可以用来分析线程堆栈:
pmap PID

[root@iZ28afl817lZ ~]# ps -eLf | grep java | wc -l
38
[root@iZ28afl817lZ ~]# netstat -n | grep tcp | grep 80 | wc -l
1
[root@iZ28afl817lZ ~]# jps
8466 Bootstrap
8581 Jps
[root@iZ28afl817lZ ~]# ls /proc/8466/task | wc -l
37
[root@iZ28afl817lZ ~]# pmap 8466
8466:   /usr/java/jdk1.7.0_75/jre/bin/java -Djava.util.logging.config.file=/home/tomcatCMS_80/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms128m -Xmx256m -Xss1024k -XX:PermSize=128m -XX:MaxPermSize=256m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/home/tomcatCMS_80/endorsed -classpath /home/tomcatCMS_80/bin/bootstrap.jar:/home/tomcatCMS_80/bin/tomcat-juli.jar -Dcatalina.base=/home/tomcatCMS_80 -Dcatalina.home=/home/tomcatCMS_80 -Djava.io.tmpdir=/home/tomca
0000000000400000      4K r-x--  /usr/java/jdk1.7.0_75/jre/bin/java
0000000000600000      4K rw---  /usr/java/jdk1.7.0_75/jre/bin/java
0000000001de9000    132K rw---    [ anon ]
00000000e0000000 131072K rw---    [ anon ]
00000000e8000000 131072K rw---    [ anon ]
00000000f0000000 122880K rw---    [ anon ]
00000000f7800000  51712K rw---    [ anon ]
00000000faa80000  86016K rw---    [ anon ]
00000000ffe80000   1536K -----    [ anon ]
0000003d2ee00000    128K r-x--  /lib64/ld-2.12.so
0000003d2f01f000      4K r----  /lib64/ld-2.12.so
0000003d2f020000      4K rw---  /lib64/ld-2.12.so
0000003d2f021000      4K rw---    [ anon ]
0000003d2f600000   1576K r-x--  /lib64/libc-2.12.so
0000003d2f78a000   2048K -----  /lib64/libc-2.12.so
0000003d2f98a000     16K r----  /lib64/libc-2.12.so
0000003d2f98e000      4K rw---  /lib64/libc-2.12.so
0000003d2f98f000     20K rw---    [ anon ]
0000003d2fa00000     92K r-x--  /lib64/libpthread-2.12.so
0000003d2fa17000   2048K -----  /lib64/libpthread-2.12.so
0000003d2fc17000      4K r----  /lib64/libpthread-2.12.so
0000003d2fc18000      4K rw---  /lib64/libpthread-2.12.so
0000003d2fc19000     16K rw---    [ anon ]
0000003d2fe00000      8K r-x--  /lib64/libdl-2.12.so

 

 

 

转载于:https://my.oschina.net/kenzheng/blog/832403

你可能感兴趣的文章
网页字体设置
查看>>
Java,Python,Scala比较(二)类与继承
查看>>
高级语言课程设计报告第六次报告: 模拟
查看>>
NotePad++中如何把横向闪烁光标(&#160;_&#160;)修改成竖向闪烁光标样式(&#160;|&#160;)?...
查看>>
“长江第一灯光秀”引关注 景观工程首次应用4G 路由
查看>>
纯原生组件化-模块化的探索
查看>>
Servlet自动刷新页面
查看>>
Spring Cloud Config 2.1.2、2.0.4 和 1.4.6 发布,修复 CVE-2019-3799
查看>>
智能家居如火如荼,各玩家的第一步棋都下在哪里?
查看>>
Quarkus 0.12.0 发布,下一代 K8s 原生 Java 框架
查看>>
内置函数
查看>>
这届showgirl真不行,那我们盘点一下ChinaJoy的“八宗最”
查看>>
激光雷达——人工智能机器人的行走“慧眼”
查看>>
达美乐和福特想要搞事情,准备用自动驾驶汽车送外卖
查看>>
Hadoop2源码分析-YARN RPC 示例介绍
查看>>
关于AI,那些年“砖家”曾经发表的所谓科技预测
查看>>
航天科工自行研发“反无人机”系统,综合拦截成功率高达80%
查看>>
中科曙光与寒武纪合作推出AI服务器,将实时分析能力提升百倍
查看>>
IBM押注AI、量子计算、区块链,发布未来5年五大科技预测
查看>>
风口行业程序员必看!直播网络成本降低70%,智能接入网关是怎样实现的?
查看>>