了解你服务器的心情——top命令详解
时间:2022-05-03
本文章向大家介绍了解你服务器的心情——top命令详解,主要内容包括第一行:系统概况、第二行:进程概况、第三行:CPU概况、第四五行:内存概况、第六行:进程详情、小技巧、2. 添加进程监控字段、3. 保存设置、4. 监控结果输出到文件、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
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
:启动该进程的命令
小技巧
1. 间隔刷新
进入top后按下d
,即可设置间隔刷新时间,默认是3秒。
2. 添加进程监控字段
进入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
前面有*
的说明已经显示了。
3. 保存设置
对top进行设置后,默认是不保存配置的,只有按了大写的W
后才会保存。
4. 监控结果输出到文件
top -d 1 -n 3 > top.log
- WordPress 注册页面显示自定义提示信息
- Windows Server 2008密码重设盘
- Dynamite动态排序库
- WordPress 顶部管理工具条添加自定义栏目
- WordPress 在后台文章和页面列表显示对应的ID
- WordPress 修改默认的 wp_ 数据库前缀
- WordPress自动在uploads文件夹内创建子文件夹
- MP6 Light:浅色型的扁平化WordPress 后台管理界面
- WiX安装选项--环境变量
- 加速!缓存Python函数的运行结果:Memoization
- WiX安装选项--注册程序集到GAC和VS的设计时环境
- 5 款前沿的WordPress主题后台选项开发框架推荐
- es6 class
- WiX安装选项---开始菜单项
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 通过 Nginx 实现最简单的Nas服务器(文件分享)
- 解决Android Studio xml 格式化不自动换行的问题
- GitHub代码仓库服务的那些事
- Android之自定义实现BaseAdapter(通用适配器三)
- Android实现音乐播放器锁屏页
- android studio3.3.1代码提示忽略大小写的设置
- Ascgen2可以把图片变成文字的小工具
- 解决android studio卡顿,提升studio运行速度的方法
- Android物理键盘事件解析
- AndroidQ(10)分区存储完美适配方法
- (全局快捷键工具)Power Keys彻底提升码字效率?
- android自定义view实现钟表效果
- 教你如何用OpenVZ限制虚拟机硬盘IO速度
- Android自定义控件实现短信验证码自动填充
- android studio 3.6.1升级后如何处理 flutter问题