Linux系统排查工具详解--cpu篇(待更新)

一、CPU
1、Uptime 命令:一个简单的查看平均负载的命令
[root@localhost ~]# uptime 后三项为1、5、15分钟的平均负载
15:37:33 up 1 min, 2 users, load average: 0.10, 0.07, 0.03

[root@localhost ~]# uptime -help

Usage:
uptime [options]

Options:
-p, --pretty show uptime in pretty format
-h, --help display this help and exit
-s, --since system up since
-V, --version output version information and exit

For more details see uptime(1).

2、vmstat:Virtual Meomory Statistics虚拟内存统计,一种功能比较齐全的监控工具,可以对操作系统的虚拟内存、进程、cpu活动进行监控,包括系统范围内的cpu平均负载。

物理内存与虚拟内存:物理内存是系统硬件提供的内存大小,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(Swap Space)。
虚拟内存是物理内存的扩展,linux会在物理内存不足时,使用交换分区的虚拟内存,更详细的说,就是内核会将暂时不用的内存块信息写到交换空间,这样以来,物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。
Linux内存管理采用分页的机制,在进行页面交换时采用的算法是LRU(最近最久未使用)算法。
如果进程太多,每个进程分配到的页框越少(页:进程的逻辑地址空间划分成的大小相同的片;页框:物理内存空间划分成的与页大小相同的存储块,)进程会频繁请求调页,这样就会产生系统抖动。

vmstat可以指定采样周期和采样次数,例如5秒钟进行5次采样
[root@localhost ~]# vmstat 5 5
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 3783784 2108 130928 0 0 52 3 52 45 0 0 99 0 0
1 2 0 3783792 2108 130940 0 0 0 11 23 23 0 0 100 0 0
0 0 0 3783792 2108 130940 0 0 0 0 16 15 0 0 100 0 0
0 0 0 3783792 2108 130940 0 0 0 0 14 13 0 0 100 0 0
0 0 0 3783792 2108 130940 0 0 0 0 11 11 0 0 100 0 0

vmstat会吐出来6列数据:
Linux系统排查工具详解--cpu篇(待更新)_第1张图片

如果出现CPU繁忙的情况,一般可以调整应用程序对CPU的占用或者增加资源。大多数情况都是因为应用程序导致的,例如数据库中不好的SQL语句导致的CPU占用。

其他常用的命令:
查看系统启动后fork出的进程数量:
[root@localhost ~]# vmstat -f
1314 forks
查看磁盘的读写:
[root@localhost ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
sda 6313 1 237116 11735 1301 160 29383 7502 0 11
sr0 0 0 0 0 0 0 0 0 0 0
sr1 0 0 0 0 0 0 0 0 0 0
dm-0 5897 0 216613 11356 1252 0 25287 10767 0 11
dm-1 94 0 4456 80 0 0 0 0 0 0
查看某个磁盘的读写:
[root@localhost ~]# vmstat -p /dev/sda1
sda1 reads read sectors writes requested writes
152 11223 4 4096

你可能感兴趣的:(杂,vmstat,uptime,cpu负载,linux系统排查)