- 浏览: 54347 次
- 性别:
文章分类
最新评论
使用top命令,可以查看正在运行的进程和系统负载信息,包括cpu负载、内存使用、各个进程所占系统资源等,top可以以一定频率更新这些统计信息。下面我们来学习top命令的具体使用方法。
默认输出
top命令的默认输出如下:
top - 08:27:48 up 21:43, 2 users, load average: 1.48, 1.47, 1.39
Tasks: 228 total, 2 running, 226 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 2.5%sy, 0.0%ni, 97.2%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 15945M total, 1726M used, 14219M free, 48M buffers
Swap: 8197M total, 0M used, 8197M free, 1196M cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22 root 20 0 0 0 0 R 1.9 0.0 60:23.34 ksoftirqd/9
8689 root 20 0 273m 67m 11m S 0.0 0.4 2:04.01 java
11058 root 39 19 0 0 0 S 0.0 0.0 1:45.68 kipmi0
11771 root -98 0 20388 19m 7256 S 0.0 0.1 0:16.06 had
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
以上输出上下分成两部分,上半部分显示了整体系统负载情况,各行含义如下:
top一行:从左到右依次为当前系统时间,系统运行的时间,系统在之前1min、5min和15min内cpu的平均负载值
Tasks一行:该行给出进程整体的统计信息,包括统计周期内进程总数、运行状态进程数、休眠状态进程数、停止状态进程数和僵死状态进程数
Cpu(s)一行:cpu整体统计信息,包括用户态下进程、系统态下进程占用cpu时间比,nice值大于0的进程在用户态下占用cpu时间比,cpu处于idle状态、wait状态的时间比,以及处理硬中断、软中断的时间比
Mem一行:该行提供了内存统计信息,包括物理内存总量、已用内存、空闲内存以及用作缓冲区的内存量
Swap一行:虚存统计信息,包括交换空间总量、已用交换区大小、空闲交换区大小以及用作缓存的交换空间大小
下半部分显示了各个进程的运行情况,各列含义如下:
PID: 进程pid
USER: 拉起进程的用户
PR: 该列值加100为进程优先级,若优先级小于100,则该进程为实时(real-time)进程,否则为普通(normal)进程,实时进程的优先级更高,更容易获得cpu调度,以上输出结果中,java进程优先级为120,是普通进程,had进程优先级为2,为实时进程,migration 进程的优先级RT对应于0,为最高优先级
NI: 进程的nice优先级值,该列中,实时进程的nice值为0,普通进程的nice值范围为-20~19
VIRT: 进程所占虚拟内存大小(默认单位kB)
RES: 进程所占物理内存大小(默认单位kB)
SHR: 进程所占共享内存大小(默认单位kB)
S: 进程的运行状态
%CPU: 采样周期内进程所占cpu百分比
%MEM: 采样周期内进程所占内存百分比
TIME+: 进程使用的cpu时间总计
COMMAND: 拉起进程的命令
top命令默认输出提供了很多信息,为获取我们关注的信息,可以使用top命令选项,也可以在top运行中使用快捷键过滤输出信息、根据cpu使用率等值对进程进行排序,下面给出具体使用例子。
对输出结果进行排序
top输出的下半部分有很多进程信息列,我们可以根据这些列对进程输出进行排序,默认情况下根据cpu使用率对进程排序。在top命令执行时,按”O”,可以看到排序项以及相应的按键:
Current Sort Field: K for window 1:Def
Select sort field via field letter, type any other key to return
a: PID = Process Id
b: PPID = Parent Process Pid
c: RUSER = Real user name
d: UID = User Id
……
各项默认以从大到小排序,top运行中,按”R”可反向显示输出结果。
显示特定用户相关进程
在top运行时,按”u”快捷键,可以过滤出特定用户拉起的进程:
Which user (blank for all): sshusr
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15561 sshusr 20 0 3700 356 276 R 8.3 0.0 5:26.05 a.out
15492 sshusr 20 0 81932 1868 1088 S 0.0 0.0 0:00.00 sash
15493 sshusr 20 0 13840 2872 1580 S 0.0 0.0 0:00.04 bash
执行top命令时,使用”top -u sshusr”可以起到相同效果。
显示特定进程
执行top时,使用”-p”选项可以指定要显示的进程:
# top -p 15561,15492
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15561 sshusr 20 0 3700 356 276 R 8.3 0.0 49:03.57 a.out
15492 sshusr 20 0 81932 1868 1088 S 0.0 0.0 0:00.00 sshd
显示所有cpu核使用情况
默认情况下,top上半部分资源负载信息中,显示的是cpu整体的使用情况:
top - 10:33:33 up 23:49, 7 users, load average: 2.02, 2.12, 2.17
Tasks: 259 total, 3 running, 256 sleeping, 0 stopped, 0 zombie
Cpu(s): 8.5%us, 2.4%sy, 0.0%ni, 88.9%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
按数字”1”快捷键,可以开启/关闭显示各个cpu核的信息:
Cpu0 : 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 0.3%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
更改top命令显示频率
默认情况下,top命令以3秒的频率更新输出结果,top命令执行时,按”d”可以更新top更新频率:
Change delay from 3.0 to: 1
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15561 sshusr 20 0 3700 356 276 R 8.2 0.0 65:53.58 a.out
26 root 20 0 0 0 0 R 2.8 0.0 106:13.28 ksoftirqd/11
执行top命令时,使用”-d”选项也可以指定top输出跟新频率。另外,按空格键,可以手动更新输出。
显示命令的全路径和参数
top运行时,按”c”快捷键,将显示命令的全路径以及命令参数:
15561 sshusr 20 0 3700 356 276 R 8.3 0.0 73:40.02 ./a.out
11088 root 20 0 220m 7196 3000 S 0.5 0.0 78:48.42 /opt/HPI/HPI_ALARM/runHpiAlarm
11974 root 20 0 9252 3244 1844 S 0.0 0.0 0:51.01 /opt/VRTSvcs/bin/HostMonitor -type HostMonitor -agdir /
指定显示的进程数目
top默认依据窗口大小显示进程数,有时我们对进程排序后,只想关注排在前面的几个进程,使用”-n”快捷键可以达到目的:
Maximum tasks = 0, change to (0 is unlimited): 2
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4 root 20 0 0 0 0 R 2.1 0.0 25:27.25 ksoftirqd/0
11088 root 20 0 220m 7196 3000 S 0.7 0.0 80:17.93 runHpiAlarm
在top中向进程发送信号
top运行时,按”k”快捷键,可向指定进程发送信号,默认信号为SIGTERM,该信号可中止进程:
PID to kill: 15561
Kill PID 15561 with signal [15]:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15561 sshusr 30 10 3700 356 276 R 8.2 0.0 95:33.45 a.out
18 root 20 0 0 0 0 R 2.8 0.0 41:48.24 ksoftirqd/7
更改进程的nice优先级值
top运行时,按”r”快捷键,可以修改指定进程的nice优先级:
PID to renice: 17898
Renice PID 17898 to value: 10
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
17898 sshusr 20 0 3700 356 276 R 8.3 0.0 0:03.96 a.out
4 root 20 0 0 0 0 R 2.0 0.0 25:51.30 ksoftirqd/0
保存top配置
为看到我们关注的进程、信息,用了很多快捷键,若下次运行top时,想要看到之前关心的内容,又要敲一遍快捷键,这相当不方便。使用”W”快捷键,可以把当前显示配置保存到~/.toprc文件中。
例如以1秒的频率查看前10个占用内存最多的进程,我们需要敲下列快捷键:
d: Change delay from 3.0 to: 1
n: Maximum tasks = 0, change to (0 is unlimited): 10
M: 快捷键”M”指示进程根据内存使用率从大到小排序
之后按下”W”可以对配置进行保存:
W: Wrote configuration to '/root/.toprc'
退出再执行top命令,可以看到top以1秒的频率查看前10个占用内存最多的进程,与我们之前保存的配置相符。
默认输出
top命令的默认输出如下:
top - 08:27:48 up 21:43, 2 users, load average: 1.48, 1.47, 1.39
Tasks: 228 total, 2 running, 226 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 2.5%sy, 0.0%ni, 97.2%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 15945M total, 1726M used, 14219M free, 48M buffers
Swap: 8197M total, 0M used, 8197M free, 1196M cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22 root 20 0 0 0 0 R 1.9 0.0 60:23.34 ksoftirqd/9
8689 root 20 0 273m 67m 11m S 0.0 0.4 2:04.01 java
11058 root 39 19 0 0 0 S 0.0 0.0 1:45.68 kipmi0
11771 root -98 0 20388 19m 7256 S 0.0 0.1 0:16.06 had
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
以上输出上下分成两部分,上半部分显示了整体系统负载情况,各行含义如下:
top一行:从左到右依次为当前系统时间,系统运行的时间,系统在之前1min、5min和15min内cpu的平均负载值
Tasks一行:该行给出进程整体的统计信息,包括统计周期内进程总数、运行状态进程数、休眠状态进程数、停止状态进程数和僵死状态进程数
Cpu(s)一行:cpu整体统计信息,包括用户态下进程、系统态下进程占用cpu时间比,nice值大于0的进程在用户态下占用cpu时间比,cpu处于idle状态、wait状态的时间比,以及处理硬中断、软中断的时间比
Mem一行:该行提供了内存统计信息,包括物理内存总量、已用内存、空闲内存以及用作缓冲区的内存量
Swap一行:虚存统计信息,包括交换空间总量、已用交换区大小、空闲交换区大小以及用作缓存的交换空间大小
下半部分显示了各个进程的运行情况,各列含义如下:
PID: 进程pid
USER: 拉起进程的用户
PR: 该列值加100为进程优先级,若优先级小于100,则该进程为实时(real-time)进程,否则为普通(normal)进程,实时进程的优先级更高,更容易获得cpu调度,以上输出结果中,java进程优先级为120,是普通进程,had进程优先级为2,为实时进程,migration 进程的优先级RT对应于0,为最高优先级
NI: 进程的nice优先级值,该列中,实时进程的nice值为0,普通进程的nice值范围为-20~19
VIRT: 进程所占虚拟内存大小(默认单位kB)
RES: 进程所占物理内存大小(默认单位kB)
SHR: 进程所占共享内存大小(默认单位kB)
S: 进程的运行状态
%CPU: 采样周期内进程所占cpu百分比
%MEM: 采样周期内进程所占内存百分比
TIME+: 进程使用的cpu时间总计
COMMAND: 拉起进程的命令
top命令默认输出提供了很多信息,为获取我们关注的信息,可以使用top命令选项,也可以在top运行中使用快捷键过滤输出信息、根据cpu使用率等值对进程进行排序,下面给出具体使用例子。
对输出结果进行排序
top输出的下半部分有很多进程信息列,我们可以根据这些列对进程输出进行排序,默认情况下根据cpu使用率对进程排序。在top命令执行时,按”O”,可以看到排序项以及相应的按键:
Current Sort Field: K for window 1:Def
Select sort field via field letter, type any other key to return
a: PID = Process Id
b: PPID = Parent Process Pid
c: RUSER = Real user name
d: UID = User Id
……
各项默认以从大到小排序,top运行中,按”R”可反向显示输出结果。
显示特定用户相关进程
在top运行时,按”u”快捷键,可以过滤出特定用户拉起的进程:
Which user (blank for all): sshusr
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15561 sshusr 20 0 3700 356 276 R 8.3 0.0 5:26.05 a.out
15492 sshusr 20 0 81932 1868 1088 S 0.0 0.0 0:00.00 sash
15493 sshusr 20 0 13840 2872 1580 S 0.0 0.0 0:00.04 bash
执行top命令时,使用”top -u sshusr”可以起到相同效果。
显示特定进程
执行top时,使用”-p”选项可以指定要显示的进程:
# top -p 15561,15492
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15561 sshusr 20 0 3700 356 276 R 8.3 0.0 49:03.57 a.out
15492 sshusr 20 0 81932 1868 1088 S 0.0 0.0 0:00.00 sshd
显示所有cpu核使用情况
默认情况下,top上半部分资源负载信息中,显示的是cpu整体的使用情况:
top - 10:33:33 up 23:49, 7 users, load average: 2.02, 2.12, 2.17
Tasks: 259 total, 3 running, 256 sleeping, 0 stopped, 0 zombie
Cpu(s): 8.5%us, 2.4%sy, 0.0%ni, 88.9%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
按数字”1”快捷键,可以开启/关闭显示各个cpu核的信息:
Cpu0 : 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 0.3%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
更改top命令显示频率
默认情况下,top命令以3秒的频率更新输出结果,top命令执行时,按”d”可以更新top更新频率:
Change delay from 3.0 to: 1
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15561 sshusr 20 0 3700 356 276 R 8.2 0.0 65:53.58 a.out
26 root 20 0 0 0 0 R 2.8 0.0 106:13.28 ksoftirqd/11
执行top命令时,使用”-d”选项也可以指定top输出跟新频率。另外,按空格键,可以手动更新输出。
显示命令的全路径和参数
top运行时,按”c”快捷键,将显示命令的全路径以及命令参数:
15561 sshusr 20 0 3700 356 276 R 8.3 0.0 73:40.02 ./a.out
11088 root 20 0 220m 7196 3000 S 0.5 0.0 78:48.42 /opt/HPI/HPI_ALARM/runHpiAlarm
11974 root 20 0 9252 3244 1844 S 0.0 0.0 0:51.01 /opt/VRTSvcs/bin/HostMonitor -type HostMonitor -agdir /
指定显示的进程数目
top默认依据窗口大小显示进程数,有时我们对进程排序后,只想关注排在前面的几个进程,使用”-n”快捷键可以达到目的:
Maximum tasks = 0, change to (0 is unlimited): 2
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4 root 20 0 0 0 0 R 2.1 0.0 25:27.25 ksoftirqd/0
11088 root 20 0 220m 7196 3000 S 0.7 0.0 80:17.93 runHpiAlarm
在top中向进程发送信号
top运行时,按”k”快捷键,可向指定进程发送信号,默认信号为SIGTERM,该信号可中止进程:
PID to kill: 15561
Kill PID 15561 with signal [15]:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15561 sshusr 30 10 3700 356 276 R 8.2 0.0 95:33.45 a.out
18 root 20 0 0 0 0 R 2.8 0.0 41:48.24 ksoftirqd/7
更改进程的nice优先级值
top运行时,按”r”快捷键,可以修改指定进程的nice优先级:
PID to renice: 17898
Renice PID 17898 to value: 10
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
17898 sshusr 20 0 3700 356 276 R 8.3 0.0 0:03.96 a.out
4 root 20 0 0 0 0 R 2.0 0.0 25:51.30 ksoftirqd/0
保存top配置
为看到我们关注的进程、信息,用了很多快捷键,若下次运行top时,想要看到之前关心的内容,又要敲一遍快捷键,这相当不方便。使用”W”快捷键,可以把当前显示配置保存到~/.toprc文件中。
例如以1秒的频率查看前10个占用内存最多的进程,我们需要敲下列快捷键:
d: Change delay from 3.0 to: 1
n: Maximum tasks = 0, change to (0 is unlimited): 10
M: 快捷键”M”指示进程根据内存使用率从大到小排序
之后按下”W”可以对配置进行保存:
W: Wrote configuration to '/root/.toprc'
退出再执行top命令,可以看到top以1秒的频率查看前10个占用内存最多的进程,与我们之前保存的配置相符。
发表评论
-
svn同步web服务器端
2013-08-29 12:27 649使用svnadmin create 创建一个版本库: svna ... -
Linux下解压rar的方法
2013-06-19 14:55 788Linux下解压rar的方法: wget http:// ... -
Linux下PHP扩展pdo_mysql
2013-06-19 13:34 730Linux下PHP扩展pdo_mysql 1.进入PHP源 ... -
linux 服务器安全配置
2013-03-14 10:18 998假如你想要搭建一个 Linux 服务器,并且希望可以长期维护的 ... -
MySQL查询及删除重复记录的方法
2012-06-08 19:16 785查询及删除重复记录的 ... -
linux办公操作命令
2012-04-17 13:29 783现在流行的Linux远程登 ... -
linux tar打包解压详解
2012-03-07 13:35 1063tar命令 解压文件到指定目录:tar -zxvf /hom ... -
Linux压缩文件的读取
2012-03-02 18:38 0Linux压缩文件的读取 · *.Z com ... -
Linux操作系统下Sudo命令的使用方法说明
2012-03-02 17:31 927“Sudo” 是Unix/Linux平台 ... -
/dev/null 2>&1 解释
2012-03-02 15:01 930/dev/null 2>&1 解释 cr ... -
在linux下设置开机自动启动程序的方法
2012-03-02 14:31 1841在linux下设置开机自动 ... -
postfix+postfixadmin邮件服务器架设记录
2012-03-02 14:25 0工作需求,在现有的linux系统上面安装邮箱服务器。 服务器上 ... -
最简单的linux 安装postfix邮件服务器
2012-02-27 13:43 1430首先下载postfix源代码包: wget ftp://f ...
相关推荐
"Linux top 命令详解" Linux top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。下面详细介绍它的使用方法。 认识 top 的显示结果 --------------...
**Linux `ps` 命令详解** 在Linux操作系统中,`ps`(Process Status)命令是用于查看系统当前进程状态的工具。它能够显示进程的实时信息,帮助用户了解系统的运行情况,进行进程管理。`ps`命令历史悠久,功能强大,...
### Linux top 命令详解与输出结果说明 #### top 命令概述 `top` 命令是 Linux 下一个非常强大的实时性能监控工具,它可以动态地展示系统中各个进程的资源占用情况,包括 CPU 使用率、内存使用量等关键指标。这使得...
Linux TOP 命令详解 Linux TOP 命令是系统维护和电脑内存维护的重要工具之一。它可以帮助系统管理员实时监控系统的 CPU 和内存使用情况,并对进程进行排序和管理。本文将详细介绍 Linux TOP 命令的使用方法和参数...
### Linux Top 命令参数详解 #### 一、引言 `top` 命令是 Linux 系统中最常用的系统监控工具之一,它能够实时地显示系统中各个进程的资源占用状况,包括 CPU 使用率、内存使用情况等。在实际应用中,无论是对于系统...
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在...
《Linux命令详解手册》是一份全面的Linux命令参考资料,它详细介绍了Linux系统中广泛使用的一系列命令,覆盖了系统管理、系统设置、文档编辑以及压缩备份等多个方面。为了方便用户查阅,该手册按照命令的功能进行了...
在Linux系统中,`top`命令是一个非常强大的实时系统监控工具,尤其在Ubuntu等基于Linux的发行版中广泛使用。`top`命令提供了系统运行状态的动态视图,包括CPU使用情况、内存使用情况、任务(进程)状态以及系统负载...
Linux命令详解手册是一份关于Linux操作系统下各种命令的权威指南,涵盖了系统管理、系统设置、文档编辑和压缩备份等众多方面的命令。这份手册详细列举并解释了每个命令的用途和使用方法,是Linux用户管理和维护系统...
Linux命令详解手册是一本适合Linux新手和有一定基础的用户深入学习Linux命令的指南。它详细介绍了大量的Linux命令,涵盖了系统管理、系统设置、文档编辑以及压缩备份等多个方面的操作。掌握这些命令对于理解和使用...
《Linux命令详解词典(绝版)》作为施威铭研究室所著的一本经典Linux工具书,主要针对Linux操作系统中的各种命令进行了深入的解释和阐述。Linux作为一种自由和开放源代码的类Unix操作系统,广泛应用于服务器、桌面、...
《Linux命令详解词典》是一本详尽解析Linux操作系统中常用命令的参考书籍。Linux作为开源、免费的操作系统,其强大的命令行工具是其高效工作的重要组成部分。这本书旨在帮助用户理解和掌握这些命令,从而更好地在...
《Linux命令详解词典》是由施威铭研究室编著的一本详尽解析Linux命令的参考书籍,旨在帮助用户深入理解和掌握Linux操作系统中的各种命令。这本书以扫描版的形式提供,包含PDF格式,方便读者在线阅读或下载。标签...
本资料包"Linux编程命令详解"旨在帮助那些希望深入学习Linux编程的朋友们提供详实的指导。 首先,我们关注的是"Linux编程命令详解.pdf",这可能是本书的核心内容,它可能涵盖了从基础到高级的Linux命令使用。这份...
在深入探讨“top命令详解”之前,我们先来理解一下top命令的基本概念及其在系统监控中的重要性。top命令是Unix、Linux等类Unix操作系统中一个非常强大的实时进程监测工具,它提供了系统运行状态的动态视图,包括CPU...
本文将深入探讨“Linux命令大全详解”这一主题,帮助读者掌握Linux操作系统的精髓,提升日常工作效率。 首先,Linux命令行是Linux系统中最基础且强大的工具。它允许用户通过输入命令来执行各种任务,如文件管理、...
在Linux操作系统中,编程是一项基础且...阅读《Linux编程命令详解》这样的资料,将有助于深入理解这些命令的用法和应用场景。同时,实践是检验知识的最好方式,多在终端中尝试这些命令,将有助于巩固记忆并提升技能。