在linux服务器中进行常规巡检是确保服务器稳定性和安全性的常见手段,下面再聊一聊top命令的使用。
1、查看系统信息
uname -a
上面命令可以查看系统信息,当查看操作系统发行版本命令如下
cat /etc/*reliease*
2、查看系统运行时间和负载
uptime
3、查看系统资源使用情况
top
字段 | 对应打印的值 | 说明 | |
---|---|---|---|
第一行:总体信息 top | 当前时间 | top - 09:41:30 | 显示当前系统时间 |
系统运行时间 | up 1:28 | 显示系统自上次启动以来的运行时间。通常以天、小时、分钟的格式显示。up 1:28表示运行了1小时28分钟。 | |
当前登录用户数 | 1 user | 当前登录系统的用户个数,1user表示1人 | |
平均负载 | load average: 7.16, 7.38, 7.34 | 显示系统在过去1分钟、5分钟、15分钟内的平均负载。负载值反映了系统在单位时间内处于可运行状态的平均进程数。 | |
第二行:任务统计 Tasks | 系统中各类任务数量的统计信息 | Tasks: 113 total, 2 running, 111 sleeping, 0 stopped, 0 zombie | 该系统总共有113个任务,其中有2个运行中的任务,111个睡眠中的任务,0个已停止的任务,0个僵尸进程。 |
第三行:CPU使用情况 %Cpu(s) | us | 47.4 us | 用户空间占用CPU的百分比 |
sy | 27.8 sy | 内核空间占用CPU的百分比 | |
ni | 23.9 ni | 优先级较低的进程用户态占用CPU的百分比 | |
id | 0.2 id | CPU空闲的百分比 | |
wa | 0.0 wa | CPU等待I/O完成的百分比 | |
hi | 0.0 hi | 硬中断占用CPU的百分比 | |
si | 0.7 si | 软中断占用CPU的百分比 | |
st | 0.0 st | 被虚拟机偷取的时间的百分比 | |
第四行:内存使用情况 KiB Mem | 总内存 | 2047116 total | 系统总可用的物理内存量 |
空闲内存 | 132588 free | 当前可用但未被使用的内存量 | |
已用内存 | 700944 used | 已用内存 | |
缓存/缓冲区 | 1213584 buff/cache | 被系统用作文件缓存和缓冲区的内存量 | |
第五行:系统交换空间使用情况 KiB Swap | 总交换空间 | 208076 total | 系统总可用的交换空间大小 |
空闲交换空间 | 2080764 free | 当前可用但未被使用的交换空间大小 | |
已用交换空间 | 0 used | 当前已经被使用的交换空间大小 | |
列表字段说明 | PID | 1857 | 进程ID |
USER | – | 用户 | |
PR | – | 优先级(Priority),表示进程的静态优先级。Linux进程的优先级范围是-20到19,数值越小,优先级越高 | |
NI | – | 优先级值(Nice Value),表示进程的动态优先级。通过renice命令可以调整进程的优先级值,数值越小,优先级越高。 | |
VIRT | – | 虚拟内存(Virtual Memory),表示进程当前使用的虚拟内存大小,以千字节(KB)为单位。虚拟内存包括进程使用的物理内存(RES)和交换空间。 | |
RES | – | 物理内存(Resident Memory),表示进程当前使用的物理内存大小,以千字节(KB)为单位。物理内存是指进程实际占用的内存空间。 | |
SHR | – | 共享内存(Shared Memory),表示进程使用的共享内存的大小,以千字节(KB)为单位。共享内存是多个进程之间共享的内存区域,通常用于进程之间的通信。 | |
S | – | 当前进程状态(State),常见的状态包括:R(运行)、S(睡眠)、D(不可中断睡眠)、Z(僵尸)、T(停止)、<(高优先级)、N(低优先级)、+(位于前台)、L(锁住页)、s(会话领导者)、l(多线程)。 | |
%CPU | – | CPU使用率 | |
%MEM | – | 内存使用率 | |
TIME+ | – | 运行时间 | |
COMMAND | – | 进程名称 |
查看参数:
第一行load average(CPU负载):三个参数分别指前1分钟、前5分钟、前15分钟的负载,数值越高负载越高,对比数值在增加的话则表明CPU负载越来越高。
第三行%Cpu(s):看id的数值>20%则表示CPU运行流畅,<20%则表示CPU负载过重。还有us过高就是用户进出优化,sy过高则需要提高服务器性能,wa过高就要关注磁盘io了。
按shift+p或者大写的P可以将cpu占用情况由大到小排列出来,找到占用cpu最大的那个线程,即可造成CPU过大的线程。
4、查看内存情况
free -h
5、查看磁盘情况
df -h
6、查看网络情况
netstat -tulnp