目录
1、vmstat
vmstat报告有关进程、内存、分页、块IO、陷阱、磁盘和cpu活动的信息。
- //每隔1秒打印一次
- root@ubuntu:/# vmstat 1
- procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
- r b swpd free buff cache si so bi bo in cs us sy id wa st
- 0 0 2584 249888 67824 2101164 0 0 184 54 69 126 1 1 98 1 0
- 0 0 2584 249888 67824 2101164 0 0 0 0 122 277 1 1 99 0 0
- 0 0 2584 249888 67824 2101164 0 0 0 0 111 186 1 1 98 1 0
- 0 0 2584 249888 67824 2101164 0 0 0 0 102 169 0 0 99 0 0
- 0 0 2584 249888 67824 2101164 0 0 0 0 108 176 0 1 99 0 0
- 0 0 2584 249888 67824 2101164 0 0 0 0 124 209 1 0 99 0 0
- 0 0 2584 249888 67824 2101164 0 0 0 0 116 197 1 0 99 1 0
- 0 0 2584 249888 67824 2101164 0 0 0 0 124 188 0 0 100 0 0
- 2 0 2584 249888 67824 2101164 0 0 0 0 166 369 1 1 99 0 0
- 0 0 2584 249872 67824 2101164 0 0 0 0 169 294 1 0 99 0 0
2、sar
这条命令非常强大,全面的分析系统性能 包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存的使用情况、进行活动以及IPC有关的活动等
- //-r -S 2 查看内存
- root@ubuntu:/# sar -r -S 2
- Linux 5.13.0-52-generic (ubuntu) 08/08/2022 _x86_64_ (2 CPU)
-
- 12:37:12 AM kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
- 12:37:14 AM 249944 2124768 1462900 36.73 67824 1989504 4084092 67.18 986588 1929716 0
-
- 12:37:12 AM kbswpfree kbswpused %swpused kbswpcad %swpcad
- 12:37:14 AM 2094564 2584 0.12 32 1.24
-
- 12:37:14 AM kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
- 12:37:16 AM 249944 2124768 1462900 36.73 67824 1989504 4084092 67.18 986588 1929716 0
-
- 12:37:14 AM kbswpfree kbswpused %swpused kbswpcad %swpcad
- 12:37:16 AM 2094564 2584 0.12 32 1.24
-
- 12:37:16 AM kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
- 12:37:18 AM 250072 2124896 1462772 36.73 67824 1989504 4084092 67.18 986588 1929716 0
-
- 12:37:16 AM kbswpfree kbswpused %swpused kbswpcad %swpcad
- 12:37:18 AM 2094564 2584 0.12 32 1.24
- ^X^C
-
- Average: kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
- Average: 249987 2124811 1462857 36.73 67824 1989504 4084092 67.18 986588 1929716 0
-
- Average: kbswpfree kbswpused %swpused kbswpcad %swpcad
- Average: 2094564 2584 0.12 32 1.24
参数,
- -r Report memory utilization statistics.//查看内存使用情况
-
- -S Report swap space utilization statistics//swap使用
-
- -n { keyword[,...] | ALL }//网络
- Report network statistics.
- Possible keywords are DEV, EDEV, FC, ICMP, EICMP, ICMP6, EICMP6, IP, EIP, IP6, EIP6, NFS, NFSD, SOCK,
- SOCK6, SOFT, TCP, ETCP, UDP and UDP6.
-
- -d Report activity for each block device.//device设备
- -b Report I/O and transfer rate statistics//I/O设备
3、pidstat
The pidstat command is used for monitoring individual tasks currently being managed by the Linux kernel
- //2秒打印一次,10个周期
- root@wy-virtual-machine:~# pidstat 2 10
- Linux 5.15.0-43-generic (wy-virtual-machine) 2022年08月08日 _x86_64_ (2 CPU)
-
- 20时52分23秒 UID PID %usr %system %guest %wait %CPU CPU Command
- 20时52分25秒 0 14 0.50 0.00 0.00 0.00 0.50 0 rcu_sched
- 20时52分25秒 108 792 0.00 0.50 0.00 0.00 0.50 0 systemd-oomd
- 20时52分25秒 0 811 0.50 0.00 0.00 0.00 0.50 0 vmtoolsd
- 20时52分25秒 0 956 0.00 0.50 0.00 0.00 0.50 1 containerd
- 20时52分25秒 1000 2357 0.00 1.00 0.00 0.50 1.00 1 gnome-shell
- 20时52分25秒 1000 2547 0.00 0.50 0.00 0.00 0.50 0 ibus-daemon
- 20时52分25秒 1000 2565 0.50 0.00 0.00 0.00 0.50 0 vmtoolsd
- 20时52分25秒 0 3268 0.00 0.50 0.00 0.00 0.50 0 kworker/0:1-events
- 20时52分25秒 0 3273 0.00 0.50 0.00 0.00 0.50 0 pidstat
-
- 20时52分25秒 UID PID %usr %system %guest %wait %CPU CPU Command
- 20时52分27秒 0 413 0.00 0.50 0.00 0.00 0.50 0 irq/16-vmwgfx
- 20时52分27秒 0 811 0.00 0.50 0.00 0.00 0.50 1 vmtoolsd
- 20时52分27秒 0 854 0.00 0.50 0.00 0.00 0.50 1 irqbalance
- 20时52分27秒 1000 2897 0.50 0.00 0.00 0.50 0.50 1 gnome-terminal-
- 20时52分27秒 0 3268 0.00 0.50 0.00 0.00 0.50 0 kworker/0:1-events
- 20时52分27秒 0 3273 0.00 0.50 0.00 0.00 0.50 0 pidstat
4、memleak
内存检测工具
memleak跟踪并匹配内存分配和释放请求,并为每次分配收集调用堆栈。然后,memleak可以打印一份摘要,说明哪些调用堆栈执行了随后未释放的分配。
-
- EXAMPLES:
-
- ./memleak -p $(pidof allocs)
- Trace allocations and display a summary of "leaked" (outstanding)
- allocations every 5 seconds
- ./memleak -p $(pidof allocs) -t
- Trace allocations and display each individual allocator function call
- ./memleak -ap $(pidof allocs) 10
- Trace allocations and display allocated addresses, sizes, and stacks
- every 10 seconds for outstanding allocations
- ./memleak -c "./allocs"
- Run the specified command and trace its allocations
- ./memleak
- Trace allocations in kernel mode and display a summary of outstanding
- allocations every 5 seconds
- ./memleak -o 60000
- Trace allocations in kernel mode and display a summary of outstanding
- allocations that are at least one minute (60 seconds) old
- ./memleak -s 5
- Trace roughly every 5th allocation, to reduce overhead
5,bcc相关的命令
cachestat :这将跟踪四个内核函数并每秒打印摘要。这对于一般的工作负载特性描述和查找操作使用随时间变化的模式非常有用。
cachetop :查看缓存读写命中
- root@ubuntu:/# cachestat
- HITS MISSES DIRTIES HITRATIO BUFFERS_MB CACHED_MB
- 0 0 0 0.00% 67 1946
- 1 0 0 100.00% 67 1946
- 0 0 0 0.00% 67 1946
-
- root@ubuntu:/#cachetop
- 00:51:54 Buffers MB: 67 / Cached MB: 1946 / Sort: HITS / Order: descending
- PID UID CMD HITS MISSES DIRTIES READ_HIT% WRITE_HIT%
- 5905 root ls 612 0 0 100.0% 0.0%
- 5905 root bash 181 0 0 100.0% 0.0%
- 1895 wy gsd-housekeepin 4 0 0 100.0% 0.0%
- 5902 root cachetop 4 0 0 100.0% 0.0%
- 754 root vmtoolsd 1 0 0 100.0% 0.0%
还有常见的 free top命令等。
参考链接
https://course.0voice.com/v1/course/intro?courseId=2&agentId=0