在日常运维工作中,难免会需要查看服务器内存、磁盘、CPU等各种信息来进行排错,所以要熟练的对服务器信息进行分析、统计。
前言:在Linux中查看各种状态,其实质是查看内核中相关进程的数据结构中的项,通过工具将其格式化后输出出来。但是内核的数据是绝对不能随意查看或更改的,至少不能直接去修改。所以,在linux上出现了伪文件系统/proc,它是内核中各属性或状态向外提供访问和修改的接口。
1.监控硬件信息
查看硬件的温度/风扇转速,电脑有鲁大师,服务器就有ipmitool。
~]# yum install -y OpenIPMI ipmitool # IPMI只有在物理机可以使用,虚拟机不行
~]# ipmitool sdr type Temperature
Temp | 01h | ns | 3.1 | Disabled
Temp | 02h | ns | 3.2 | Disabled
Temp | 05h | ns | 10.1 | Disabled
Temp | 06h | ns | 10.2 | Disabled
Ambient Temp | 0Eh | ok | 7.1 | 22 degrees C
Planar Temp | 0Fh | ns | 7.1 | Disabled
IOH THERMTRIP | 5Dh | ns | 7.1 | Disabled
CPU Temp Interf | 76h | ns | 7.1 | Disabled
Temp | 0Ah | ns | 8.1 | Disabled
Temp | 0Bh | ns | 8.1 | Disabled
Temp | 0Ch | ns | 8.1 | Disabled
2.查看CPU相关信息
lscpu、top、htop、vmstat、…
lscpu:
~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 60
Model name: Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
Stepping: 3
CPU MHz: 3192.669
BogoMIPS: 6385.33
Virtualization: VT-x
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 6144K
NUMA node0 CPU(s): 0
Flags: ...
- Socket(s): 1 #表示一个物理CPU
- Core(s) per socket: 1 #一个物理CPU上有一个核心
- Thread(s) per core: 1 #每个核心上有一个线程(超线程)
总核数 = 物理CPU个数 X 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
/proc/cpuinfo:
~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
stepping : 3
microcode : 0x19
cpu MHz : 3192.669
cache size : 6144 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : ...
bogomips : 6385.33
clflush size : 64
cache_alignment : 64
address sizes : 43 bits physical, 48 bits virtual
power management:
- 同一个socket的physical id相同
- cpu cores表示此socket上的core数量
- 如果cpu cores = siblings,表明没有开启超线程
- 如果cpu cores = 2 * siblings,表明开启了超线程
- 相同的physical id,相同的core id,但是不同的processor,表明是同一个core上的逻辑CPU(超线程)
注:top、htop会在后面进行分析!
3.查看内存信息
free、top、htop、vmstat、…
free:
常用参数:
free [options]
选项说明:
-h:人类可读方式显式单位
-m:以MB为显示单位
-w:将buffers和cache分开单独显示。只对CentOS 7上有效
-s:动态查看内存信息时的刷新时间间隔
-c:一共要刷新多少次退出free
常用用法:
~]# free -h
total used free shared buff/cache available
Mem: 3.7G 409M 2.1G 11M 1.2G 3.0G
Swap: 2.0G 0B 2.0G
~]# free -w -h #将cache/buffer分开显示
total used free shared buffers cache available
Mem: 3.7G 409M 2.1G 11M 2.1M 1.2G 3.0G
Swap: 2.0G 0B 2.0G
~]# free -h -s 1 -c 2 #动态显示两次,每秒刷新一次
total used free shared buff/cache available
Mem: 3.7G 408M 2.1G 11M 1.2G 3.0G
Swap: 2.0G 0B 2.0G
total used free shared buff/cache available
Mem: 3.7G 409M 2.1G 11M 1.2G 3.0G
Swap: 2.0G 0B 2.0G
Mem和Swap分别表示物理内存和交换分区的使用情况。
- total:总内存空间
- used:已使用的内存空间。该值是total-free-buffers-cache的结果
- free:未使用的内存空间
- shared:/tmpfs总用的内存空间。对内核版本有要求,若版本不够,则显示为0。
- buff/cache:buffers和cache的总占用空间
- available:可用的内存空间。即程序启动时,将认为可用空间有这么多。可用的内存空间为free+buffers+cache。
所以available才是真正需要关注的可使用内存空间量。
4.查看磁盘使用情况
df、iotop、iostat
df:
常用参数:
选项说明:
-a:列出所有的文件系统,包括系统特有的/proc等文件系统
-k:以KB的容量显示各文件系统
-m:以MB的容量显示各文件系统
-h:以人们较易阅读的GB,MB,KB等格式自行显示
-H:以M=1000K替代M=1024K的进位方式
-T:连同该分区的文件系统名称(例如ext3)也列出
-i:不用硬盘容量,而以inode的数量来显示
常用用法:
~]# df -h #常见用法
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 9.2G 7.8G 55% /
devtmpfs 1.9G 0 1.9G 0% /dev
...
~]# df -Th #连同该分区的文件系统名称也列出
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 9.2G 7.8G 55% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
- Filesystem:代表该文件系统是在哪个分区,所以列出设备名称
- Type:文件系统类型
- Size:分区大小
- Used:使用掉的硬盘空间
- Available:剩下的磁盘空间大小
- Use%:磁盘使用率
- Mounted on:磁盘挂载的目录所在(挂载点)
iostat:
iostat主要统计磁盘或分区的整体使用情况
~]# yum install sysstat -y #iostat需要自行安装,在sysstat包中
常用参数:
iostat [options]
选项说明:
-c:统计cpu信息
-d:统计磁盘信息
-n:统计NFS文件系统信息
-h:使NFS统计信息更人类可读化
-k:指定以kb/s为单位显示
-m:指定以mb/s为单位显示
-p:指定要统计的设备名称
-y:指定不显示第一次统计信息,即不显示自开机起的统计信息。
interval:刷新时间间隔
count:总统计次数
常用用法:
~]# iostat #默认还会统计cpu的信息
Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 09/15/2019 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.03 0.00 0.09 0.01 0.00 99.87
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.27 1.50 13.17 420518 3703847
scd0 0.00 0.00 0.00 1028 0
~]# iostat -d #只统计磁盘情况
Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 09/15/2019 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.27 1.49 13.18 420518 3710597
scd0 0.00 0.00 0.00 1028 0
各列的意义都很清晰,从字面即可理解
- tps:每秒transfer速率(transfers per second),一次对物理设备的IO请求为一个transfer,但多个逻辑请求可能只组成一个transfer
- Blk_read/s:每秒读取的block数量
- Blk_wrtn/s:每秒写入的block总数
- Blk_read:读取的总block数量
- Blk_wrtn:写入的总block数量
iotop:
iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看
~]# yum install -y iotop #可直接yum安装,依赖于base源
常用参数:
iotop [options]
选项说明:
-o:只显示有io操作的进程
-b:批量显示,无交互,主要用作记录到文件
-n NUM:显示NUM次,主要用于非交互式模式
-d SEC:间隔SEC秒显示一次
-p PID:监控的进程pid
-u USER:监控的进程用户
常用快捷键:
左右箭头:改变排序方式,默认是按IO排序
r:改变排序顺序
o:只显示有IO输出的进程
p:进程/线程的显示方式的切换
a:显示累积使用量
q:退出
常用用法:
~]# iotop #直接使用
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
60465 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.02 % [kworker/1:1]
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 22
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
...
~]# iotop -o -n 5 -d 1 #只显示5次有io操作的进程,每秒刷新一次
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
60465 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.02 % [kworker/1:1]
5.系统负载信息
uptime、top、htop、…
uptime:
~]# uptime
03:22:03 up 3 days, 6:17, 2 users, load average: 0.00, 0.01, 0.05
load的理想值是正好等于CPU的核数,小于核数的时候表示cpu有空闲,超出核数的时候表示有进程在等待cpu,即系统资源不足
- 03:22:03:系统当前时间
- up:系统正在运行
- 3 days, 6:17:系统自上次开机运行的时间
- 2 users:当前登录的用户
- load average:系统负载。1分钟系统的平均负载、5分钟系统的平均负载、15分钟系统的平均负载
6.网络流量监控
iftop、nethogs、…
iftop是一款实时流量监控工具,监控TCP/IP连接等,缺点就是无报表功能。必须以root身份才能运行
iftop:
~]# rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm #安装epel源
~]# yum install iftop -y #依赖于epel源
常用参数:
选项说明:
-i:设定监测的网卡,如果只执行iftop默认检测第一块网卡使用情况
-B:以bytes为单位显示流量(默认是bits)
-n:使host信息默认直接都显示IP
-N:使端口信息默认直接都显示端口号
-F:显示特定网段的进出流量
常用快捷键:
n:切换显示本机的IP或主机名
s:切换是否显示源IP
d:切换是否显示目的IP
t:显示格式为2行/1行/只显示发送流量/只显示接收流量,默认为两行
N:显示端口号或端口服务名称
S:是否显示本机的端口信息
D:是否显示目标主机的端口信息
p:是否显示端口信息
P:切换暂停/继续显示
b:是否显示平均流量图形条
B:切换计算2s/10s/40s秒内的平均流量
T:是否显示每个连接的总流量
l:打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息
常用用法:
~]# iftop -i eth0
interface: eth0
Unable to get IP address for interface: eth0
ioctl(SIOCGIFADDR): Cannot assign requested address
MAC address is: 00:0c:29:0c:bd:12
Display paused 195Kb 391Kb
└──────────────────────────────────────────────┴──────────────────────────────────────────────┴────────────────
192.168.164.200 => 192.168.164.144 29.3Kb 98.2Kb 67.4Kb
<= 14.0Kb 22.3Kb 19.8Kb
192.168.164.148 => 192.168.164.144 8.96Kb 8.39Kb 7.50Kb
<= 1.02Kb 957b 853b
.....
───────────────────────────────────────────────────────────────────────────────────────────────────────────────
TX: cum: 15.9KB peak: 16.8Kb rates: 5.78Kb 6.11Kb 5.48Kb
RX: 431KB 391Kb 62.2Kb 140Kb 104Kb
TOTAL: 446KB 394Kb 67.9Kb 146Kb 110Kb
- 左侧:源IP
- 中间:目的IP
- 右侧:2s/10s/40s平均流量
- =>:代表发送数据 源IP->目的IP
- <=:代表接收流量 目的->到源Ip
- TX:发送流量
- RX:接收流量
- TOTAL:总流量
- Cumm:运行iftop到目前时间的总流量
- peak:流量峰值
- rates:分别表示过去 2s 10s 40s 的平均流量
7.查看进程信息
pstree、ps、…
pstree:
~]# yum install psmisc -y #可直接yum安装
常用参数:
选项说明:
-a:显示进程的命令行
-c:展开分支
-h:高亮当前正在运行的进程及其父进程
-p:显示进程pid,此选项也将展开分支
-l:允许显示长格式进程。默认在显示结果中超过132个字符时将截断后面的字符
常用用法:
~]# pstree -h
systemd─┬─NetworkManager─┬─dhclient
│ └─2*[{NetworkManager}]
├─VGAuthService
├─agetty
├─auditd───{auditd}
├─chronyd
├─crond
├─dbus-daemon
├─gssproxy───5*[{gssproxy}]
├─httpd───5*[httpd]
├─keepalived───2*[keepalived]
├─ksmtuned───sleep
├─libvirtd───16*[{libvirtd}]
├─lvmetad
├─master─┬─pickup
│ └─qmgr
├─mysqld_safe───mysqld───30*[{mysqld}]
├─php-fpm───2*[php-fpm]
├─polkitd───6*[{polkitd}]
├─rpcbind
├─rsyslogd───2*[{rsyslogd}]
├─sshd───sshd─┬─bash───pstree
│ └─sftp-server
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
├─vmtoolsd───{vmtoolsd}
├─zabbix_agentd───5*[zabbix_agentd]
└─zabbix_server───33*[zabbix_server]
ps:
ps其实只需掌握少数几个选项即可,关键的是要了解ps显示出的进程信息中每一列代表什么属性
常用用法:
~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 125316 3816 ? Ss Sep15 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S Sep15 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Sep15 0:01 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< Sep15 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S Sep15 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S Sep15 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? R Sep15 0:02 [rcu_sched]
root 10 0.0 0.0 0 0 ? S< Sep15 0:00 [lru-add-drain]
root 11 0.0 0.0 0 0 ? S Sep15 0:00 [watchdog/0]
root 13 0.0 0.0 0 0 ? S Sep15 0:00 [kdevtmpfs]
root 14 0.0 0.0 0 0 ? S< Sep15 0:00 [netns]
root 15 0.0 0.0 0 0 ? S Sep15 0:00 [khungtaskd]
root 16 0.0 0.0 0 0 ? S< Sep15 0:00 [writeback]
root 17 0.0 0.0 0 0 ? S< Sep15 0:00 [kintegrityd]
- USER:启动进程的用户
- PID:进程的进程号
- %CPU:表示CPU占用百分比,注意,CPU的衡量方式是占用时间,所以百分比的计算方式是"进程占用cpu时间/cpu总时间",而不是cpu工作强度的状态
- %MEM:表示各进程所占物理内存百分比
- VSZ:表示各进程占用的虚拟内存,也就是其在线性地址空间中实际占用的内存,单位为kb
- RSS:表示各进程占用的实际物理内存,单位为Kb
- TTY:表示属于哪个终端的进程,"?"表示不依赖于终端的进程
- STAT:进程所处的状态
D:不可中断睡眠
R:运行中或等待队列中的进程(running/runnable)
S:可中断睡眠
T:进程处于stopped状态
Z:僵尸进程
<:高优先级进程
N:低优先级进程
L:该进程在内存中有被锁定的页
s:表示该进程是session leader,即进程组的首进程。例如管道左边的进程,shell脚本中的shell进程
l:表示该进程是一个线程
+:表示是前端进程。前端进程一般来说都是依赖于终端的 - START:表示进程是何时被创建的
- TIME:表示各进程占用的CPU时间
- COMMAND:表示进程的命令行。如果是内核线程,则使用方括号"[]"包围
]# ps -elf
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 0 0 80 0 - 31329 ep_pol Sep15 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
1 S root 2 0 0 80 0 - 0 kthrea Sep15 ? 00:00:00 [kthreadd]
1 S root 3 2 0 80 0 - 0 smpboo Sep15 ? 00:00:01 [ksoftirqd/0]
1 S root 5 2 0 60 -20 - 0 worker Sep15 ? 00:00:00 [kworker/0:0H]
1 S root 7 2 0 -40 - - 0 smpboo Sep15 ? 00:00:00 [migration/0]
1 S root 8 2 0 80 0 - 0 rcu_gp Sep15 ? 00:00:00 [rcu_bh]
1 R root 9 2 0 80 0 - 0 - Sep15 ? 00:00:02 [rcu_sched]
1 S root 10 2 0 60 -20 - 0 rescue Sep15 ? 00:00:00 [lru-add-drain]
5 S root 11 2 0 -40 - - 0 smpboo Sep15 ? 00:00:00 [watchdog/0]
0 R root 9880 8006 0 80 0 - 38840 - 02:24 pts/0 00:00:00 ps -elf
- F:程序的标志位。0表示该程序只有普通权限,4表示具有root超级管理员权限,1表示该进程被创建的时候只进行了fork,没有进行exec
- S:进程的状态位,注意ps选项加了"-“的是非BSD风格选项,不会有"s”"<"“N”"+"等的状态标识位
- C:CPU的百分比,注意衡量方式是时间
- PRI:进程的优先级,值越小,优先级越高,越早被调度类选中运行
- NI:进程的NICE值,值为-20到19,影响优先级的方式是PRI(new)=PRI(old)+NI,所以NI为负数的时候,越小将导致进程优先级越
- ADDR:进程在物理内存中哪个地方
- SZ:进程占用的实际物理内存
- WCHAN:若进程处于睡眠状态,将显示其对应内核线程的名称,若进程为R状态,则显示"-"
8.常用分析命令 top、htop
top:
top命令查看动态进程状态,默认每3秒刷新一次
常用参数:
选项说明:
-d:指定top刷新的时间间隔,默认是3秒
-b:批处理模式,每次刷新分批显示
-n:指定top刷新几次就退出,可以配合-b使用
-p:指定监控的pid,指定方式为-pN1 -pN2 ...或-pN1, N2 [,...]
-u:指定要监控的用户的进程,可以是uid也可以是user_name
常用快捷键:
1:(数字1)表示是否要在top的头部显示出多个cpu信息
H:表示是否要显示线程,默认不显示
c,S:c表示是否要展开进程的命令行,S表示显示的cpu时间是否是累积模式,cpu累积模式下已死去的子进程cpu时间会累积到父进程中
x,y:x高亮排序的列,y表示高亮running进程
u:指定需要显示的用户
n or #:设置要显示最大的进程数量(需要显示几个进程)
k:杀进程
q:退出top
P:以CPU 的使用资源排序显示
M:以Memory 的使用资源排序显示
N:以PID 来排序
常用用法:
~]# top
top - 03:14:30 up 4:05, 1 user, load average: 0.02, 0.04, 0.05
Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.3 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1863224 total, 1278012 free, 248180 used, 337032 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1430572 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7068 mysql 20 0 1175068 107732 8392 S 0.3 5.8 1:16.92 mysqld
10193 root 20 0 162020 2384 1616 R 0.3 0.1 0:03.50 top
1 root 20 0 125316 3816 2596 S 0.0 0.2 0:09.84 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:01.85 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
第一行:当前时间、已开机时长、当前在线用户、前1/5/15分钟平均负载(同w、uptime命令)
第二行:分别表示总进程数、running状态的进程数、睡眠状态的进程数、停止状态进程数、僵尸进程数
第三行:
- us:用户空间占用CPU百分比
- sy:内核空间占用CPU百分比
- ni:用户进程空间内改变过优先级的进程占用CPU百分比
- id:空闲CPU百分比
- wa:等待输入输出的CPU时间百分比
- hi:硬件CPU中断占用百分比
- si:软中断占用百分比
- st:虚拟机占用百分比
第四行:物理内存总量、空闲内存总量、已使用的物理内存总量、用作内核缓存的内存总量
第五行:交换分区总量、空闲交换分区总量、已使用的交换分区总量、缓冲的交换分区总量
第六行:
- PID:进程ID
- USER:进行所有者的用户名
- PR:优先级
- NI:nice值,负值表示高优先级
- VIRT:进程使用的虚拟内存总量,VIRT=SWAP+RES,单位kb
- RES:进程使用的,未被换出的大小,单位kb
- SHR:共享内存大小
- S:进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
- %CPU:上次更新到现在的CPU时间占用百分比
- %MEM:进程使用的物理内存百分比
- COMMAND:命令名/命令行
top命令可以通过 M 快捷键来查看进程使用内存的排序,但是若我们想要查看进程占用内存的具体情况,可使用如下方法
~]# yum install bc -y
~]# echo 0 $(awk '/TYPE/ {print "+", $2}' /proc/PID/smaps) | bc
TYPE:
Rss :内存占用,进程占用的所有内存,包括跟其他进程共享的内存(直接把共享的整个内存数值加上来)。但是这个值没有包含swap
Shared :该进程跟其他进程分享的内存
Private:该进程占用的私有内存,通过这个数据你可以查看到内存泄露问题
Swap :该进程用的swap内存
Pss :按比例计算的内存数量,这是一个很好的看总体内存占用量的参数,这是根据共享进程的数量来调整共享内存数量的内存占用。 如果一个进程占用的私有内存是1MB,使用的共享内存有20MB,但是这个共享内存同时有10个进程(包括它自己在内)在使用,那么PSS就是 1 + 20/10 = 3MB
PID:进程号
top命令虽然非常强大,但是太老了。所以有了新生代的top命令htop。htop默认没有安装,需要手动安装。
htop:
htop界面比top更加美观,并且htop可以直接使用鼠标来点击进行操作
~]# rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm #安装epel源
~]# yum install htop -y #依赖于epel源
常用用法:
~]# htop
- 第一部分:略
- 第二部分:略
- 第三部分:略
- 第四部分:
F1:查看htop帮助手册
F2:htop界面设置
F3:按F3或直接输入”/”就可以直接进入搜索模式,是按照进程名进行搜索的
F4:相当于模糊查找,不区分大小写,下方输入要搜索的内容后,则界面只显示搜索到的内容,更加方便查看
F5:以树形方式显示
F6:按下F6后会跳转至上图界面,让您选择以什么方式进行排序,在Sort by下选择您要以什么来排序
F7:调小进程nice值(使用鼠标选中某个进程)
F8:调大进程nice值
F9:杀死进程
F10:退出htop