面试常问:linux top 命令详解

一、top 命令的作用

   top 命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top 显示系统的是当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top 命令提供了实时的对系统处理器的状态监视。它将显示系统中 CPU 最 “敏感” 的任务列表。该命令可以按 CPU 使用、内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。

二、top 命令选项与参数详解

2.1 top 命令选项详解
选项说明
-d指定 top 命令显示的页面自动更新一次的时间间隔,默认是 5 秒
-b以批次的方式执行 top 命令
-n与 -b 配合使用,表示需要进行几次 top命令,并将结果输出
-p指定进程号 pid 来进行观察监测
-s使 top命令在安全模式中运行,避免了交互命令所带来的潜在危险
-i使 top命令不显示任何闲置或者僵死的进程
-H使 top命令显示单个线程。 若没有该选项,则显示每个进程中所有线程的总和
-ctop命令显示整个命令行,而不只是命令名
-n指定 top命令在结束之前应产生的最大迭代次数,即刷新几次 top命令执行结果
2.2 top 命令指令详解

  在 top 命令的显示页面还可输入以下指令执行相应的功能。

命令说明
? 或 h显示在 top当中可以输入的命令
P以 CPU 的使用资源进行降序排序显示
M以内存 MEM 的使用资源进行降序排序显示
N以 PID 进行降序显示
T以进程使用的 CPU 时间累积 TIME+ 进行降序排序显示
k给某 PID 一个信号,可用于杀死进程
r给某 PID 重新定制一个 nice 值,即优先值
n使 top命令的显示页面显示 n 条进程的状况
q退出 top
W在当前目录下保存 top 的执行结果

三、top命令内容详解

3.1 统计信息

  第一行:top - 10:23:36 up 2 days, 16:27, 2 users, load average: 0.00, 0.00, 0.00

在这里插入图片描述
  第二行:Tasks: 231 total, 1 running, 166 sleeping, 0 stopped, 0 zombie

在这里插入图片描述
  第三行:%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

在这里插入图片描述
  第四行:KiB Mem : 3049700 total, 318948 free, 1162584 used, 1568168 buff/cache

  第五行:KiB Swap: 998396 total, 998128 free, 268 used. 1604964 avail Mem

在这里插入图片描述

3.2 进程信息
列名含义
PID进程 ID
PPID父进程 ID
RUSERReal user name
UID进程所有者的用户 ID
USER进程所有者的用户名
GROUP进程所有者的组名
TTY启动进程的终端名。不是从终端启动的进程则显示为 ?
PR优先级
NInice 值。负值表示高优先级,正值表示低优先级
P最后使用的 CPU,仅在多 CPU 环境下有意义
%CPUtop 命令上次更新到现在的 CPU 时间占用百分比
TIME进程使用的 CPU 时间总计,单位秒
TIME+进程使用的 CPU 时间总计,单位 1/100 秒
%MEM进程使用的物理内存百分比
VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP进程使用的虚拟内存中,被换出的大小,单位kb
RES进程使用的、未被换出的物理内存大小,单位 kb。RES=CODE+DATA
CODE可执行代码占用的物理内存大小,单位kb
DATA可执行代码以外的部分 (数据段+栈) 占用的物理内存大小,单位 kb
SHR共享内存大小,单位 kb
nFLT页面错误次数
nDRT最后一次写入到现在,被修改过的页面数
S进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
COMMAND命令名/命令行
WCHAN若该进程在睡眠,则显示睡眠中的系统函数名
Flags任务标志

  其他具体的进程列信息可查看下图:

在这里插入图片描述

四、其他技巧

  默认进入 top 时,各进程是按照CPU的占用量来排序的

  1、在 top 基本视图中,按键盘数字 “1” 可以监控每个逻辑CPU的状况。

在这里插入图片描述
  2、在 top 基本视图中,

  • 按键盘 “x” 打开/关闭排序列的加亮效果。
  • 按键盘 “y” 来打开或者关闭运行态进程的加亮效果。
  • 按键盘 “b” 打开关闭加亮效果。

  综合效果如下所示:

在这里插入图片描述
  3、在 top 基本视图中,默认是按照 “%CPU” 进行排序的,可通过按 “shift + >” 或者 ”shift + < ” 来左右改变排序列。

  4、在 top 基本视图中,敲击 “f” 进入另一个视图,在这里可以编辑 top 基本视图中的显示字段,用上下键选择选项,按下空格键可以决定是否在基本视图中显示这个选项。

在这里插入图片描述

五、示例

  • top -b -n 2 > /tmp/top.txt:将执行 2 次 top 命令,然后将结果输出到 /tmp/top.txt
  • top -p 12345 -p 6789:每隔 5 秒显示 PID 是 12345 和 PID 是 6789 的两个进程的资源占用情况。
  • top -d 2 -c -p 123456:每隔 2 秒显示 PID 是 12345 的进程的资源使用情况,并显式该进程启动的命令行参数。

六、参考资料

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
面试中常常会问到关于Linux命令的问题。以下是一些面试中常见的Linux命令及其用途: 1. SCP命令:SCP命令用于在不同的计算机之间进行文件拷贝,基于SSH的登录。例如,使用scp命令可以将本地的xxx.dmp文件拷贝到远程服务器的/home/oracle/dmpdir/目录下。 2. 查找文件:通过使用find命令可以在指定目录下查找符合条件的文件。例如,可以使用find /目录 -name filename.txt来查找/目录下名为filename.txt的文件。 3. 进程管理:使用ps命令可以查看当前系统中正在运行的进程。通过结合grep命令,可以过滤出特定的进程。例如,使用ps -ef | grep tomcat可以查看是否有名为tomcat的进程在运行。 4. 用户切换:使用su命令可以切换用户身份。例如,使用su -username可以切换到名为username的用户。 5. 文件重命名:使用mv命令可以将文件重命名或移动到其他目录。例如,使用mv oldNameFile newNameFile可以将oldNameFile文件重命名为newNameFile。 6. 权限管理:使用chmod命令可以修改文件的权限。例如,使用chmod 777 file.java可以将file.java的权限设置为-rwxrwxrwx,其中r表示读取,w表示写入,x表示可执行。 7. 文件压缩与解压缩:使用tar命令可以对文件进行打包压缩和解压缩操作。例如,使用tar -czf test.tar.gz /test1 /test2可以将test1和test2目录下的文件打包为test.tar.gz的压缩文件。而使用tar -xvzf test.tar.gz可以解压缩test.tar.gz文件。 8. 文件查看:使用head命令可以查看文件的前几行内容,例如使用head -n 10 example.txt可以查看example.txt文件的前10行内容。而使用tail命令可以查看文件的末尾几行内容,例如使用tail -n 10 example.txt可以查看example.txt文件的最后10行内容。 9. 实时日志查看:使用tail命令的-f参数可以实时查看日志文件的最新内容。例如,使用tail -f example.log可以实时查看example.log日志文件的更新。 以上是一些常见的Linux命令,它们在面试中经常被问到。希望这些信息对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值