Linux系统性能监控和管理
1.top监控系统进程
- top 命令查看进程时可自定义刷新频率,比较直观
- 用法
SYNOPSIS
top -hv|-bcHiOSs -d secs -n max -u|U user -p pid -o fld -w [cols]
[root@centos7 ~]#top
top - 17:39:10 up 23:05, 4 users, load average: 0.00, 0.01, 0.05
Tasks: 290 total, 1 running, 289 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.1 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 71.5/1526208 [||||||||||||||||||||||||||||||||||||||||| ]
KiB Swap: 0.9/3145724 [ ]
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2152 root 20 0 3605496 183924 32756 S 1.0 12.1 2:05.55 gnome-shell
2435 root 20 0 1371916 75124 8116 S 0.0 4.9 0:06.11 gnome-softwa+
1531 root 20 0 419092 69204 31728 S 0.0 4.5 0:08.68 X
2593 root 20 0 752624 27920 9716 S 0.0 1.8 0:03.07 gnome-termin+
...
- 对某列信息排序
P:以占据的CPU百分比,%CPU
M:占据内存百分比,%MEM
T:累积占据CPU时长,TIME+
首部信息显示:
uptime信息:l命令
tasks及cpu信息:t命令
cpu分别显示:1 (数字)
memory信息:m命令
退出命令:q
修改刷新时间间隔:s
终止指定进程:k
保存文件:W
- %Cpu(s)栏位信息简介
us:用户空间
sy:内核空间
ni:调整nice时间
id:空闲
wa:等待IO时间
hi:硬中断
si:软中断(模式切换)
st:虚拟机偷走的时间
- 选项
-d # 指定刷新时间间隔,默认为3秒
-b 全部显示所有进程
-n # 刷新多少次后退出
-H 线程模式,示例:top -H -p `pidof mysqld`
- htop命令:其使用不同的颜色来标识不同的信息,甚至支持鼠标点击相应的选项;来自EPEL源
选项:
-d #: 指定延迟时间;
-u UserName: 仅显示指定用户的进程
-s COLUME: 以指定字段进行排序
进入程序后的子命令:
s:跟踪选定进程的系统调用
l:显示选定进程打开的文件列表
a:将选定的进程绑定至某指定CPU核心
t:显示进程树
2.free命令查看内存空间使用情况
- 用法
free [OPTION]
-b 以字节为单位
-m 以MB为单位
-g 以GB为单位
-h 易读格式
-o 不显示-/+buffers/cache行
-t 显示RAM + swap的总和
-s n 刷新间隔为n秒
-c n 刷新n次后即退出
[root@centos7 ~]#free -ht
total used free shared buff/cache available
Mem: 1.5G 829M 139M 55M 522M 432M
Swap: 3.0G 29M 3.0G
Total: 4.5G 858M 3.1G
- free命令所显示的各部分图示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vxZWnGOl-1572174734814)(png/2019-10-27-17-47-44.png)]
3.vmstat命令查看虚拟内存信息
[root@centos8 ~]#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 351744 221400 48 310228 0 3 12 10 96 123 0 1 99 0 0
- 分栏说明
procs
r:可运行(正运行或等待运行)进程的个数,和核心数有关
b:处于不可中断睡眠态的进程个数