liunx top命令

本文解析了Linux下top命令输出的各项指标含义,包括系统运行状态、负载平均值、任务信息及进程状态等。同时介绍了如何通过/proc文件系统获取系统信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

执行top命令
top - 14:32:57 up 113 days,  2:54,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 201 total,   1 running, 199 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.1%us,  0.2%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16333796k total, 14471796k used,  1862000k free,   285644k buffers
Swap:  5242876k total,    16172k used,  5226704k free,  6677132k cached


   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                            
 10199 sfapp     20   0 4695m 504m  22m S  0.7  3.2 339:47.88 java                                                               
 74721 sfapp     20   0 4240m 460m  22m S  0.7  2.9  51:35.31 java                                                               
 30272 mysql     20   0 1890m 458m 8352 S  0.3  2.9  82:38.00 mysqld                                                             
 47992 sfapp     20   0 1787m 302m  16m S  0.3  1.9 617:45.77 java                                                               
107545 sfapp     20   0 8386m 216m  12m S  0.3  1.4  64:20.92 java                                                               
     1 root      20   0 19364 1356 1132 S  0.0  0.0   0:01.53 init                                                               
     2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd                                                           
     3 root      RT   0     0    0    0 S  0.0  0.0   0:01.51 migration/0                                                        
     4 root      20   0     0    0    0 S  0.0  0.0   0:10.92 ksoftirqd/0                                                        
     5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/0                                                          
     6 root      RT   0     0    0    0 S  0.0  0.0   1:28.86 watchdog/0                                                         
     7 root      RT   0     0    0    0 S  0.0  0.0   0:07.76 migration/1                                                        
     8 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/1                                                          
     9 root      20   0     0    0    0 S  0.0  0.0   0:12.49 ksoftirqd/1                                                        
    10 root      RT   0     0    0    0 S  0.0  0.0   1:29.32 watchdog/1                                                         
    11 root      RT   0     0    0    0 S  0.0  0.0   0:03.62 migration/2                                                        
    12 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/2   
第一行:当前时间   系统运行时间    用户数   负载(三个数分别是过去1分钟,5分钟,15分钟到现在的负载均值)
第二行任务信息:任务总数,运行,睡眠,停止,僵尸(任务已完成,但是还在任务列表中,不会占用资源,也不会被调度,唯一危害就是数量多的情况下有可能撑爆任务列表)

在linux的 /proc目录也记录了上述信息,proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。

用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。下面列出的这些文件或子文件夹,并不是都是在你的系统中存在,这取决于你的内核配置和装载的模块。另外,在/proc下还有三个很重要的目录:net,scsi和sys。 Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi 目录不存在

在/proc目录下,有以数字命名的子目录,这些数字表示进程的pid,子目录中包含的具体的信息,例如status是进程的状态
进程状态
R (task_running) : 可执行状态
S (task_interruptible): 可中断的睡眠状态
D (task_uninterruptible): 不可中断的睡眠状态
T (task_stopped or task_traced): 暂停状态或跟踪状态
Z (task_dead - exit_zombie): 退出状态,进程成为僵尸进程
X (task_dead - exit_dead): 退出状态,进程即将被销毁
### Linux 中使用 `top` 命令查看系统资源和进程状态 `top` 命令是 Linux 系统中最常用和最强大的实时监控工具之一,它可以动态显示系统资源使用情况和当前运行的进程信息。通过 `top` 命令,用户可以查看 CPU 使用率、内存使用情况、交换分区、运行队列、进程数量、系统负载等关键指标,并对进程进行排序、筛选和管理[^1]。 #### 启动 `top` 命令 在终端中输入以下命令即可启动 `top`: ```bash top ``` 默认情况下,`top` 会实时更新系统状态,默认每 3 秒刷新一次,显示所有当前运行的进程,并按照 CPU 使用率排序[^2]。 #### `top` 命令界面说明 `top` 命令的界面分为两个主要部分: 1. **系统概览信息**(顶部几行): - **第一行**:系统当前时间、运行时长、登录用户数和系统负载(1分钟、5分钟、15分钟平均负载)。 - **第二行**:进程总数、运行中、休眠、停止、僵尸进程数量。 - **第三行**:CPU 使用情况,包括用户态、系统态、空闲、I/O等待等百分比。 - **第四行**:内存使用情况,包括物理内存、交换内存、缓存和缓冲区的使用量。 2. **进程列表**(下方部分): - 每一行代表一个进程,包含以下信息: - **PID**:进程 ID。 - **USER**:进程所属用户。 - **PR**:优先级。 - **NI**:Nice 值(优先级调整值)。 - **VIRT**:虚拟内存使用量。 - **RES**:物理内存使用量。 - **SHR**:共享内存大小。 - **%CPU**:CPU 使用百分比。 - **%MEM**:内存使用百分比。 - **TIME+**:累计 CPU 时间。 - **COMMAND**:启动进程的命令。 #### 常用操作命令(在 `top` 运行时使用键盘操作) | 操作 | 说明 | |------|------| | `Shift + M` | 按内存使用排序 | | `Shift + P` | 按 CPU 使用排序 | | `Shift + T` | 按运行时间排序 | | `Shift + L` | 输入关键词筛选进程 | | `u` | 输入用户名,只显示该用户的进程 | | `p` | 输入 PID,只显示指定进程 | | `k` | 输入 PID,发送终止信号(kill)给进程 | | `r` | 输入 PID,调整进程的优先级(renice) | | `q` | 退出 `top` | #### `top` 命令常用选项 - **查看指定用户的进程**: ```bash top -u username ``` - **查看指定 PID 的进程**: ```bash top -p PID1,PID2,PID3 ``` - **以批处理模式输出到文件**(适用于脚本): ```bash top -b -n 1 > top_output.txt ``` - `-b`:批处理模式。 - `-n 1`:执行一次并退出。 #### `htop` 命令简介 `htop` 是 `top` 的增强版本,提供了更友好的交互界面、颜色高亮、垂直和水平滚动等功能,支持鼠标操作,使用体验更佳。可以通过以下命令安装(基于 Debian/Ubuntu): ```bash sudo apt install htop ``` 然后运行: ```bash htop ``` #### 适用场景对比 - **`ps` 命令**:适合查看某个时间点的进程快照,常用于脚本或日志记录。 - **`top` 命令**:适合实时监控系统资源和进程状态,尤其在排查性能瓶颈时非常有用[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值