网站开发案例代码,广州线下教学,免费的企业黄页网站,网站开发的就业方向概念#xff1a;
top 命令是 Unix 和类 Unix 操作系统#xff08;如 Linux、macOS#xff09;中一个常用的系统监控工具#xff0c;它提供了一个动态的实时视图#xff0c;显示系统的整体性能信息#xff0c;如 CPU 使用率、内存使用情况、进程列表等。
基本用法
root…概念
top 命令是 Unix 和类 Unix 操作系统如 Linux、macOS中一个常用的系统监控工具它提供了一个动态的实时视图显示系统的整体性能信息如 CPU 使用率、内存使用情况、进程列表等。
基本用法
rootxxx:~# top
top - 18:54:15 up 12 days, 4:10, 1 user, load average: 0.04, 0.10, 0.14
Tasks: 594 total, 1 running, 344 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.1 us, 0.0 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 46087936 total, 22898740 free, 1414488 used, 21774708 buff/cache
KiB Swap: 51999996 total, 51999996 free, 0 used. 42175156 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND
241197 root 20 0 31980 4308 3312 R 0.3 0.0 0:00.06 top 1 root 20 0 178264 7040 4228 S 0.0 0.0 11:14.29 systemd
........#启动top命令后,你会看到一个像这样的界面实际输出可能因系统和配置的不同而略有差异
界面各部分的解释
系统摘要信息
top - 18:54:15 up 12 days, 4:10, 1 user, load average: 0.04, 0.10, 0.14
当前时间18:54:15
系统运行时间up 12 days, 4:10
登录用户数1 users
系统负载平均值load average: 0.04, 0.10, 0.14分别是1分钟、5分钟和15分钟的平均负载任务信息
Tasks: 594 total, 1 running, 344 sleeping, 0 stopped, 0 zombie
任务总数 594 total
运行中的任务1 running
睡眠中的任务344 sleeping
停止的任务0 stopped
僵尸任务0 zombieCPU 使用率
%Cpu(s): 0.1 us, 0.0 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
用户态CPU时间user space0.1% us 用户态占用CPU的时间即用户进程或应用程序执行的时间。当应用程序正在执行时CPU处于用户态
系统态CPU时间system space0.0% sy 系统态占用CPU的时间即操作系统内核进程执行的时间。当操作系统内核进程正在执行时CPU处于系统态
低优先级用户态时间nice0.0% ni 改变过优先级的进程所占用的CPU时间。nice值用于调整进程的优先级低nice值的进程具有较高的优先级
空闲时间99.9% id 空闲时间即CPU没有执行任何任务的时间。这是CPU未被占用的时间
I/O等待时间0.0% wa 等待I/O操作完成的时间即CPU等待输入输出操作完成的时间。当CPU等待磁盘读写等I/O操作完成时会处于等待状态
硬中断时间0.0% hi 处理硬件中断所花费的时间。硬件中断是由硬件产生的中断如时钟中断或键盘中断
软中断时间0.0% si 处理软件中断所花费的时间。软件中断是由操作系统产生的中断用于处理各种系统事件
虚拟机偷取时间0.0% st 虚拟化环境中其他虚拟机占用的CPU时间。在虚拟化环境中多个虚拟机共享物理资源其中一些时间可能被其他虚拟机占用内存使用情况
KiB Mem : 46087936 total, 22898740 free, 1414488 used, 21774708 buff/cache总内存46087936 KiB
空闲内存22898740 KiB
已用内存1414488 KiB
缓存和缓冲区内存21774708 KiBKiB Swap: 51999996 total, 51999996 free, 0 used. 42175156 avail Mem
总交换空间51999996 KiB
空闲交换空间51999996 KiB
已用交换空间0 KiB
可用内存42175156 KiB进程列表
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND
1 root 20 0 178264 7040 4228 S 0.0 0.0 11:14.29 systemd每个进程的详细信息包括
PID 进程PID编号
USER 进程所有者
PR优先级
NI: nice值
VIRT虚拟内存大小 Kb
RES常驻内存大小 Kb
SHR共享内存大小Kb
S进程状态
%CPUCPU使用率
%MEM内存使用率
TIME运行时间
COMMAND 命令名/命令行##S进程状态
运行状态R (Running or Runnable) 进程正在 CPU 上运行或准备运行。它处于可执行状态等待分配 CPU 时间片。
中断状态S (Interruptible Sleep) 进程正在等待某个事件如 I/O 操作完成可以被中断。
不可中断睡眠状态D (Uninterruptible Sleep) 进程正在等待某些条件通常是 I/O 操作完成不能被中断。
停止状态T (Stopped) 进程已停止通常是因为接收到 SIGSTOP 或 SIGTSTP 信号。这可能是因为用户手动暂停了进程如按 CtrlZ。
僵尸状态Z (Zombie) 进程已终止但其进程描述符仍保留等待父进程读取其退出状态。僵尸进程占用很少的系统资源但大量的僵尸进程可能会导致系统问题。
催眠状态t (Traced or Stopped) 进程被调试器如 gdb追踪或者已经被停止。
终止状态X (Dead) 进程已经终止但这种状态很少见
W (Paging) 进程没有足够的内存资源这是在旧版 Linux 中的一种状态在现代系统中不常见交互命令
在 top 运行时你可以输入一些命令来更改视图或执行特定操作
改变排序列
P按 CPU 使用率排序。
M按内存使用率排序。
T按运行时间排序。
N按 PID 排序。过滤进程
o添加过滤条件。它会提示你输入过滤条件如 COMMANDtop。
移除所有过滤条件。改变显示内容
f进入字段管理界面可以选择显示或隐藏特定字段。
A自动切换窗口。
W将当前设置写入配置文件。下次运行 top 时会自动加载这些设置。调整刷新时间
d设置屏幕刷新间隔时间秒。显示线程
H切换显示每个进程的线程信息。改变显示模式
c切换显示完整的命令行或仅显示命令名。
1显示每个 CPU 的使用情况。
i切换显示闲置和僵尸进程。终止进程
k终止一个进程。它会提示你输入进程ID (PID) 和信号。改变进程优先级
r调整一个进程的优先级renice。它会提示你输入进程ID 和新的 nice 值。常用top命令行参数
-d delay
说明设置屏幕刷新间隔时间秒。使用示例
top -d 1这个命令将 top 的刷新间隔设置为1秒。
-p PID
说明只监控指定的进程。使用示例
top -p 1这个命令只显示 PID 为 1 的进程。
-u user
说明只显示特定用户的进程。使用示例
top -u root这个命令只显示 username 用户的进程。
-n number
说明更新的次数达到指定次数后退出。使用示例
top -n 5这个命令会更新5次后退出。
-b
说明以批处理模式运行通常用于脚本和重定向输出。使用示例
top -b -n 1 top_output.txt这个命令会以批处理模式运行一次并将输出重定向到 top_output.txt 文件。
-i
说明忽略闲置和僵尸进程。使用示例
top -i这个命令会忽略空闲和僵尸进程的显示。
-H
说明显示线程信息。使用示例
top -H这个命令会显示每个进程的线程信息。
-c
说明切换显示完整的命令行。使用示例
top -c这个命令会切换显示每个进程的完整命令行。
-o field
说明按指定字段排序。使用示例
top -o %CPU这个命令会按 CPU 使用率排序进程。
-w [number]
说明指定输出的宽度。-w 160 强制输出160字符宽-w 表示自动调整宽度。使用示例
top -w 120这个命令会将输出宽度设置为120字符。
top组合技
示例
假设你想要监控特定用户 root 的进程并且希望输出刷新间隔为 2 秒同时输出到一个文件中。你可以使用以下命令 top -b -n 10 -d 2 -u root root_processes.txt这个命令的具体解释如下
-b以批处理模式运行。
-n 10更新10次后退出。
-d 2每2秒刷新一次。
-u user1只显示 user1 用户的进程。root_processes.txt将输出重定向到 root_processes.txt 文件配置文件
top 命令允许你保存当前配置这样下次运行 top 时会自动加载这些配置。保存当前配置的方法是按 W 键这会将配置写入 ~/.toprc 文件
rootxxx:~# cat ~/.toprc
tops Config File (Linux processes with windows)
Id:i, Mode_altscr0, Mode_irixps1, Delay_time3.0, Curwin0
Def fieldscur)*,-./012568?ABCFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijwinflags193844, sortindx18, maxtasks0, graph_cpus0, graph_mems1summclr1, msgsclr1, headclr3, taskclr1
Job fieldscurĻ,-./012568?ABCFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijwinflags193844, sortindx0, maxtasks0, graph_cpus0, graph_mems0summclr6, msgsclr6, headclr7, taskclr6
Mem fieldscur()*,-./0125689FGHIJKLOPQRSTUVWXYZ[\]^_abcdefghijwinflags193844, sortindx21, maxtasks0, graph_cpus0, graph_mems0summclr5, msgsclr5, headclr4, taskclr5
Usr fieldscur,-./1234568;?ABCFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijwinflags193844, sortindx3, maxtasks0, graph_cpus0, graph_mems0summclr3, msgsclr3, headclr2, taskclr3
Fixed_widest0, Summ_mscale0, Task_mscale0, Zero_suppress0