查看CPU信息 (top命令)
pidstat 命令
查看进程占用的系统资源,包括CPU,内存,磁盘,IO,线程切换,线程数等数据
使用方式:pid -urd -p u表示cpu,r表示内存,d表示io
- 查看PID
[root@geoNode1 ~]# ps -elf |grep java
0 S root 27001 26979 2 80 0 - 1130740 futex_ 23:12 pts/1 00:00:06 java -jar idt-shelf-db-0.0.1-SNAPSHOT.jar
0 S root 27059 27034 0 80 0 - 28177 pipe_w 23:16 pts/2 00:00:00 grep --color=auto java
[root@geoNode1 ~]# jps
27001 idt-shelf-db-0.0.1-SNAPSHOT.jar
27132 Jps
- 查看CPU使用信息
[root@geoNode1 ~]# pidstat -u -p 27001
Linux 3.10.0-957.21.3.el7.x86_64 (geoNode1) 04/02/2022 _x86_64_ (4 CPU)
11:18:33 PM UID PID %usr %system %guest %CPU CPU Command
11:18:33 PM 0 27001 0.00 0.00 0.00 0.00 3 java
- 查看内存使用信息
[root@geoNode1 ~]# pidstat -r -p 27001
Linux 3.10.0-957.21.3.el7.x86_64 (geoNode1) 04/02/2022 _x86_64_ (4 CPU)
11:20:43 PM UID PID minflt/s majflt/s VSZ RSS %MEM Command
11:20:43 PM 0 27001 0.00 0.00 4522960 110308 1.38 java
- 数据io使用信息
[root@geoNode1 ~]# pidstat -d -p 27001
Linux 3.10.0-957.21.3.el7.x86_64 (geoNode1) 04/02/2022 _x86_64_ (4 CPU)
11:21:56 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
11:21:56 PM 0 27001 0.00 0.00 0.00 java
- vmstat 显示关于内核线程,虚拟内存,磁盘I/O,陷阱和CPU占有率
[root@geoNode1 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 6402288 157024 1149212 0 0 0 1 1 1 0 0 99 0 0
重要参数说明
| 参数 | 说明 |
|---|---|
| cache | 操作系统会自动调节这个参数,当内存紧张时,cache值会减少以保证其他进程可用 |
| cs | 线程环境的切换次数,如果该值太大,说明线程的同步机制有问题 |
| si/so | 如果这两个值比较大,说明系统频繁使用交换区,需要关注系统的内存是否够用 |
| bi/bo | 如果该值比较大,说明磁盘IO负载很高 |
- mpstat 实时监控CPU的统计信息,一般是几核CPU就会有几核的信息
[root@geoNode1 ~]# mpstat -P ALL
Linux 3.10.0-957.21.3.el7.x86_64 (geoNode1) 04/02/2022 _x86_64_ (4 CPU)
11:53:46 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11:53:46 PM all 0.27 0.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 99.33
11:53:46 PM 0 0.39 0.00 0.56 0.01 0.00 0.00 0.00 0.00 0.00 99.05
11:53:46 PM 1 0.15 0.00 0.24 0.00 0.00 0.00 0.00 0.00 0.00 99.61
11:53:46 PM 2 0.38 0.00 0.55 0.00 0.00 0.00 0.00 0.00 0.00 99.06
11:53:46 PM 3 0.16 0.00 0.25 0.00 0.00 0.00 0.00 0.00 0.00 99.59
查看内存
free 显示系统内存使用情况
包括总内存,已使用内存,内核使用缓冲区-包括buffer+cache
[root@geoNode1 ~]# free
total used free shared buff/cache available
Mem: 8008876 295316 6413704 536 1299856 7439684
Swap: 0
pmap (pmap -d pid)
显示底层的进程占用内存的信息,并且可以打印内存的地址,用于定位jvm的内存情况
[root@geoNode1 ~]# pmap -d 27207
27207: java -jar idt-shelf-db-0.0.1-SNAPSHOT.jar -Xms1024m -Xmx1024m -XX:PermSize=128 -Xss256k
Address Kbytes Mode Offset Device Mapping
0000000000010000 51200 rw--- 0000000000000000 000:00000 [ anon ]
0000000003210000 153600 ----- 0000000000000000 000:00000 [ anon ]
0000000085cb1000 60 ----- 0000000000000000 000:00000 [ anon ]
0000000085cc0000 16320 rw--- 0000000000000000 000:00000 [ anon ]
0000000086cb0000 1973056 ----- 0000000000000000 000:00000 [ anon ]
00000000ff380000 12800 rw--- 0000000000000000 000:00000 [ anon ]
00005598898e5000 4 r-x-- 0000000000000000 0fd:00001 java
0000559889ae5000 4 r---- 0000000000000000 0fd:00001 java
0000559889ae6000 4 rw--- 0000000000001000 0fd:00001 java