了解你服务器的心情——top命令详解
top是Linux较为常用的命令,可以监控服务器的CPU、内存、进程的运行情况,话不多说,直接操作。
输入top即可启动:
下面我们就来逐一介绍top向我们展示的内容。
第一行:系统概况
top - 19:39:14 up 20 days, 7:48, 1 user, load average: 0.00, 0.01, 0.05
19:39:14 up 20 days:系统运行时间
1 user:用户数
load average: 0.00, 0.01, 0.05:1分钟、5分钟、15分钟的平均负载
第二行:进程概况
Tasks: 69 total, 2 running, 67 sleeping, 0 stopped, 0 zombie
69 total:总进程数
2 running:运行态进程数
67 sleeping:睡眠态进程数
0 stopped:停止态进程数
0 zombie:僵尸态进程数
第三行:CPU概况
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
us:用户进程CPU使用占比
sy:系统进程CPU使用占比
ni:用户进程中改变了优先级的进程CPU使用占比
id:空闲CPU占比
wa:等待IO的CPU时间占比
hi:硬中断占用CPU百分比
si:软终端占用CPU百分比
默认情况下显示的是所有CPU的平均值,如果想看每个CPU具体值,则按下『1』即可:
%Cpu0 : 0.3 us, 0.3 sy, 0.0 ni, 99.0 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.3 us, 0.3 sy, 0.0 ni, 99.0 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.3 us, 0.3 sy, 0.0 ni, 99.0 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 0.3 us, 0.3 sy, 0.0 ni, 99.0 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
第四五行:内存概况
在Linux中,内存一共分为两块:物理内存 和 交换区。
物理内存是真正的内存,而内存资源毕竟有限,因此当物理内存不够的时候,根据LRU置换算法,那些很长时间没被使用的数据将会被存入交换区。交换区其实是硬盘,并非内存。当交换区存在数据时说明物理内存不够了。
KiB Mem : 1883724 total, 300584 free, 646088 used, 937052 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1062956 avail Mem
Mem 1883724 total:物理内存的总量
Mem 300584 free:物理内存的空闲量
Mem 646088 used:物理内存使用量
Mem 937052 buff/cache:物理内存内核缓存使用量
Swap 0 total:交换区总量
Swap 0 free:交换区空闲量
Swap 0 used:交换区使用量
Swap 1062956 avail Mem:虚拟内存总量
PS:buff/cache虽然占用物理内存,但当内存不够时也可以直接使用,因此物理内存的可使用空间为:free + buff/cache。
第六行:进程详情
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1784 root 20 0 2072440 73204 8768 S 0.7 3.9 108:58.75 java
1182 root 20 0 46540 2624 1988 S 0.3 0.1 11:06.20 AliYunDunUpdate
PID:进程ID
USER:进程所有者
RES:进程所占物理内存大小(kb)
SHR:进程所占共享内存大小(kb)
VIRT:进程所占虚拟内存大小???
%CPU:CPU占用百分比
%MEM:物理内存占用百分比
PR:进程优先级
NI:nice值
TIME+:上次更新到现在进程使用的CPU时间总计
COMMAND:启动该进程的命令
小技巧
-
间隔刷新
进入top后按下d,即可设置间隔刷新时间,默认是3秒。 -
添加进程监控字段
进入top后按下f,即可添加/减少需要监控的进程信息。
- PID = Process Id vMn = Minor Faults delta
- USER = Effective User Name USED = Res+Swap Size (KiB)
- PR = Priority nsIPC = IPC namespace Inode
- NI = Nice Value nsMNT = MNT namespace Inode
- VIRT = Virtual Image (KiB) nsNET = NET namespace Inode
- RES = Resident Size (KiB) nsPID = PID namespace Inode
- SHR = Shared Memory (KiB) nsUSER = USER namespace Inode
- S = Process Status nsUTS = UTS namespace Inode
- %CPU = CPU Usage
- %MEM = Memory Usage (RES)
- TIME+ = CPU Time, hundredths
- COMMAND = Command Name/Line
PPID = Parent Process pid
UID = Effective User Id
RUID = Real User Id
RUSER = Real User Name
SUID = Saved User Id
SUSER = Saved User Name
GID = Group Id
GROUP = Group Name
PGRP = Process Group Id
前面有*的说明已经显示了。
-
保存设置
对top进行设置后,默认是不保存配置的,只有按了大写的W后才会保存。 -
监控结果输出到文件
top -d 1 -n 3 > top.log
相关文章
- linux socket高性能服务器处理框架
- Linux这 10 个命令, 分分钟搞定 Linux 服务器异常
- Linux查看服务器版本等信息uname
- Linux 服务器管理员的12个有用的命令
- 为什么说破壳漏洞会带来一场全球服务器的浩劫
- 云服务器 ECS Linux 系统下使用 dig 命令查询域名解析
- Unix lrzsz命令 上传本地文件到服务器 / 发送文件到客户端
- Mysql集群-----(附录2) Mysql 主从复制,从服务器无法连接问题
- linux环境下随时照看服务器进程的ps和top命令
- Redis 笔记与总结5 Redis 常用命令之 键值命令 和 服务器命令 && 高级应用之 安全性 和 主从复制
- vSphere Client无法连接到服务器 出现未知错误的解决方法
- 用命令打开本地tomcat服务器
- Dell服务器MegaCli命令只返回Exit Code: 0x00问题分析
- 【阿里云云计算工程师ACP认证】1.云服务器ECS
- DNS服务器配置实践
- 真正实现前后端分离架构,通过SpringBoot整合Jpa做构建后端服务器,前端通过Vue结合Element-UI和axios进行数据请求,解决了跨域请求问题、用户登录验证、百度地图根据坐标标记
- Linux服务器 离线安装 nginx-1.14.0,让你一路畅通无阻,3分钟就完成。
- Linux命令:查看服务器IP地址
- 京津冀协同:张北“云基地”建150万台服务器