Linux 系统监控

Top命令
Processes: 355 total, 3 running, 352 sleeping, 1540 threads 22:53:50 Load Avg:
2.23, 1.85, 1.79 CPU usage: 2.91% user, 3.4% sys, 94.3% idle SharedLibs: 203M
resident, 47M data, 29M linkedit. MemRegions: 67938 total, 2480M resident, 96M
private, 956M shared. PhysMem: 9029M used (3177M wired), 7345M unused. VM: 995G
vsize, 627M framework vsize, 66673141(0) swapins, 67456042(0) swapouts.
Networks: packets: 10075546/9110M in, 7870367/1935M out. Disks: 5209393/349G
read, 3216109/340G written. PID COMMAND %CPU TIME #TH #WQ #PORT MEM PURG CMPRS
PGRP 36055 git 0.0 00:00.06 1 0 10 928K 0B 0B 35626 36054 git 0.0 00:01.33 2 0
11 7628K 0B 0B 35626 36052 mdworker 0.0 00:00.06 4 1 48 5224K 0B 0B 36052 36051
mdworker 0.0 00:00.03 3 1 46 2932K 0B 0B 36051 36050 mdworker 0.0 00:00.06 4 1
48 8084K 0B 0B 36050 36049 top 2.8 00:06.87 1/1 0 25 3400K 0B 0B 36049 35964
bash 0.0 00:00.07 1 0 16 2668K 0B 0B 35964 35963 login 0.0 00:00.02 2 1 29
1132K 0B 0B 35963 35961 Google Chrom 0.0 00:05.98 18 2 156 77M 0B 0B 4804 35955
git-remote-h 0.1 00:00.29 2 1 37 10M 0B 0B 35626 35954 git 0.0 00:00.02 1 0 10
6932K 0B 0B 35626 35949 git-remote-h 0.1 00:00.26 2 1 37 4672K+ 0B 0B 35626
35948 git 0.0 00:00.01 1 0 10 968K 0B 0B 35626 35940 bash 0.0 00:00.00 1 0 8
460K 0B 0B 35626
然而还有个好用的工具那就是 glances(惊鸿一瞥)

mac下载方法:
brew install -y glances
Linux Ubuntu:
apt install -y glances
Linux Centos:
yum install -y glances
Pip:
pip install glances
glances使用方法:

在终端直接敲glances:



CPU  [  9.3%]   CPU /     9.3%  nice:     0.0%  ctx_sw:   441     MEM -   61.2%
   SWAP -   52.6%     LOAD    8-core

MEM  [ 61.3%]   user:     6.7%  inter:  -2515                     total:  16.0G
   total:   2.00G     1 min:    1.69

SWAP [ 52.6%]   system:   2.7%  sw_int:   446                     used:   9.80G
   used:    1.05G     5 min:    1.72

                idle:    90.7%  syscal:     0                     free:   6.20G
   free:     970M     15 min:   1.73




NETWORK     Rx/s   Tx/s   TASKS 195 (939 thr), 195 run, 0 slp, 0 oth sorted
automatically by cpu_percent, flat view

awdl0         0b     0b

bridge0       0b     0b     CPU%  MEM%  VIRT   RES   PID USER        NI S    
TIME+ Command 

en0          2Kb   864b     39.3   0.7 3.45G  121M   293 yuqibing     0 R 
11:12.56 /Applications/Utilities/Terminal.

en1           0b     0b      4.9   0.9 4.21G  155M 18921 yuqibing     0 R 
47:40.92 /Applications/Google Chrome.app/C

en2           0b     0b      2.9   0.1 2.44G 13.1M  4811 yuqibing     0 R 
22:06.99 /System/Library/Frameworks/VideoT

lo0         280b   280b      2.7   0.3 2.41G 43.9M 38637 yuqibing     0 R  
0:03.34 /Library/Frameworks/Python.framew

p2p0          0b     0b      2.4   1.2 9.44G  190M  4809 yuqibing     0 R   1h
10:32 /Applications/Google Chrome.app/C

utun0         0b     0b      1.4   1.7 5.19G  276M  4804 yuqibing     0 R   2h
05:54 /Applications/Google Chrome.app/C

utun1         0b     0b      1.2   0.7 2.96G  115M   370 yuqibing     0 R  
7:49.55 /System/Library/Input Methods/SCI

                             0.5   2.3 4.04G  383M 19198 yuqibing     0 R  
3:53.39 /Applications/Google Chrome.app/C

DISK I/O     R/s    W/s      0.3   0.6 3.63G  103M 35137 yuqibing     0 R  
0:42.80 /Applications/Google Chrome.app/C

disk0       494K      0      0.1   0.2 3.55G 34.1M 18920 yuqibing     0 R  
1:15.87 /Applications/Google Chrome.app/C

disk2          0      0      0.1   0.5 3.70G 83.3M 18944 yuqibing     0 R  
3:57.14 /Applications/Google Chrome.app/C

disk3          0      0      0.1   0.5 3.67G 90.0M 19058 yuqibing     0 R  
1:23.48 /Applications/Google Chrome.app/C

                             0.1   0.1 4.48G 10.1M 19543 yuqibing     0 R  
0:54.79 /Library/Java/JavaVirtualMachines

FILE SYS    Used  Total      0.1   0.2 3.57G 25.7M 19560 yuqibing     0 R  
0:52.25 /Applications/Google Chrome.app/C

/ (disk1)   115G   233G      0.1   0.6 3.39G  106M 35625 yuqibing     0 R  
0:01.54 /Applications/Google Chrome.app/C

_sX-NG-R8  18.0M  22.4M      0.0   0.4 2.67G 72.3M   111 root         0 R  
2:18.93 /System/Library/CoreServices/logi

_CCB6B9D7   118G   233G      0.0   0.1 2.41G 13.4M   278 yuqibing     0 R  
0:54.79 /usr/sbin/cfprefsd agent

                             0.0   0.1 2.43G 20.3M   279 yuqibing     0 R  
1:11.77 /usr/libexec/UserEventAgent (Aqua

SENSORS                      0.0   0.1 2.40G 11.8M   281 yuqibing     0 R  
2:58.90 /usr/sbin/distnoted agent

Battery             46%      0.0   0.2 2.45G 25.4M   283 yuqibing     0 R  
0:49.88 /System/Library/Frameworks/CoreTe

                             0.0   0.1 2.43G 16.4M   284 yuqibing     0 R  
0:12.73 /usr/libexec/lsd

                             0.0   0.1 3.46G 18.3M   285 yuqibing     0 R  
1:55.30 /usr/libexec/trustd --agent

                             0.0   0.1 2.42G 13.4M   289 yuqibing     0 R  
0:06.44 /System/Library/CoreServices/shar




Glances 会用一下几种颜色来代表状态:

* 绿色:OK(一切正常)
* 蓝色:CAREFUL(需要注意)
* 紫色:WARNING(警告)
* 红色:CRITICAL(严重)
Glances 的选项:

* a – 对进程自动排序
* c – 按 CPU 百分比对进程排序
* m – 按内存百分比对进程排序
* p – 按进程名字母顺序对进程排序
* i – 按读写频率(I/O)对进程排序
* d – 显示/隐藏磁盘 I/O 统计信息
* f – 显示/隐藏文件系统统计信息
* n – 显示/隐藏网络接口统计信息
* s – 显示/隐藏传感器统计信息
* y – 显示/隐藏硬盘温度统计信息
* l – 显示/隐藏日志(log)
* b – 切换网络 I/O 单位(Bytes/bits)
* w – 删除警告日志
* x – 删除警告和严重日志
* 1 – 切换全局 CPU 使用情况和每个 CPU 的使用情况
* h – 显示/隐藏这个帮助画面
* t – 以组合形式浏览网络 I/O
* u – 以累计形式浏览网络 I/O
* q – 退出(‘ESC‘ 和 ‘Ctrl&C‘ 也可以)
更多glances的选项,可以用
man glances来参看。
远程使用 Glances
glances -s Define the password for the Glances server Password: Password
(confirm): Glances serveris running on 0.0.0.0:61209
当你执行了glances -s命令后,会让你为 Glances 服务器设置密码。当你设置完毕,你将看到 “Glances server is running
on 0.0.0.0:61209” (Glances 服务器正在 0.0.0.0 的 61209 端口运行)的消息。当 Glances
服务器启动后,到本地执行下面的命令来指定服务器IP地址或主机名以链接。

注:这里的172.16.27.56是我 Glances 服务器的 IP 地址。glances -c -P 172.16.27.56

下面是一些在使用服务器/客户端模式时必须知道的事情:

* 在服务器模式,你可以通过 -B 地址 来设置绑定地址,也可以通过 -p 端口 来绑定监听的 TCP 端口
* 在客户端模式,你可以通过同样的 -p 端口 来指定服务器端口
* 默认的绑定地址是 0.0.0.0,但这么做会监听所有网络接口的指定端口
* 在服务器/客户端模式下,限制的阀值将由服务器的设置决定
* 你也可以在命令行下用过 -P 密码 的方式来为服务器端设置一个密码


pmap

可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:


  $ pmap -d 5647



Linux中使用free来查看内存

  $ free

             total       used       free     shared    buffers     cached
Mem:       8193564    7868388     325176          0     198848    2645932
-/+ buffers/cache:    5023608    3169956
Swap:            0          0          0



如何看额定值:


cat /proc/meminfo

proc:

/proc是Linux的一个伪文件系统,
存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。 

/proc/cpuinfo   cpu的相关信息