首页 > 代码库 > Linux 常用命令-- top

Linux 常用命令-- top

 

Linux 常用命令-- top

top 命令实时显示进程的状态。默认状态显示的是cpu密集型的进程,并且每5秒钟更新一次。你可以通过PID的数字大小,age(),time(),resident memory usage()以及进程从启动后占用cpu的时间。

top - 20:59:18 up 4 days,  4:47,  1 user,  load average: 0.00, 0.00, 0.00Tasks:  65 total,   2 running,  63 sleeping,   0 stopped,   0 zombieCpu(s):  0.2%us,  0.1%sy,  0.0%ni, 99.6%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%stMem:    500472k total,   282756k used,   217716k free,    82496k buffers    Swap:        0k total,        0k used,        0k free,    61052k cachedPID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                 975 root      20   0  756m  10m 8008 S  0.2  2.1   9:12.19 AliYunDun                                                                991 root      20   0  768m 9320 7164 S  0.2  1.9   5:19.35 AliHids                                                                  842 root      20   0  463m 2588 1888 S  0.1  0.5   2:43.88 AliYunDunUpdate                                                            1 root      20   0 19232 1512 1224 S  0.0  0.3   0:00.65 init                                                                       2 root      20   0     0    0    0 S  0.0  0.0   0:00.01 kthreadd                                                                   3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0                                                                4 root      20   0     0    0    0 S  0.0  0.0   0:00.71 ksoftirqd/0                                                                5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0                                                                6 root      RT   0     0    0    0 S  0.0  0.0   0:00.55 watchdog/0                                                                 7 root      20   0     0    0    0 S  0.0  0.0   0:12.40 events/0                                                                   8 root      20   0     0    0    0 S  0.0  0.0   0:00.00 cgroup                                                                     9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khelper                                                                   10 root      20   0     0    0    0 S  0.0  0.0   0:00.00 netns                                                                     11 root      20   0     0    0    0 S  0.0  0.0   0:00.00 async/mgr                                                                 12 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pm                                                                        13 root      20   0     0    0    0 S  0.0  0.0   0:00.00 xenwatch                                                                  14 root      20   0     0    0    0 S  0.0  0.0   0:00.00 xenbus                                                                    15 root      20   0     0    0    0 S  0.0  0.0   0:01.22 sync_supers                                                               16 root      20   0     0    0    0 S  0.0  0.0   0:01.14 bdi-default                                                               17 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kintegrityd/0                                                             18 root      20   0     0    0    0 S  0.0  0.0   0:00.18 kblockd/0                                                                 19 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kacpid                                                                    20 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kacpi_notify                                                              21 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kacpi_hotplug  

如果你想提高某个进程的优先级,可以通过renice命令,如果有摸个进程占用太多的cpu资源,可以通过kill命令。

  • top 显示出现的每个列的含义分别为:

    PID: 进程描述符
    USER: 进程的拥有者
    PRI:进程的优先级
    NI: nice level
    SIZE: 进程拥有的内存(包括code segment + data segment + stack segment)
    RSS: 物理内存使用
    VIRT(virtul memory usage): 进程需要的虚拟内存大小
    RES(resident memory usage): 常驻内存
    SHARE: 和其他进程共享的物理内存空间
    STAT:进程的状态,有 S=sleeping,R=running,T=stopped or traced,D=interruptible sleep(不可中断的睡眠状态),Z=zombie。
    %CPU: CPU使用率
    %MEM: 物理内存的使用
    TIME: 进程占用的总共cpu时间
    COMMAND:进程的命令


  • 常用的命令:

(1) t: 用于是否显示总的统计数据,也就是下面这两行

Tasks:  65 total,   2 running,  63 sleeping,   0 stopped,   0 zombieCpu(s):  0.2%us,  0.1%sy,  0.0%ni, 99.6%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st

(2)m:用户是否显示内存的信息,也就是下面这两行

Mem:    500472k total,   282756k used,   217716k free,    82496k buffers    Swap:        0k total,        0k used,        0k free,    61052k cached

(3)A: 根据单窗口切换成多窗口,可以看到四个不同的窗口,可以通过a或者w来切换多个窗口。 四个窗口的名字分别为:Def,Job,Mem,Usr

(4)f:进入一个动态配置top的screen中,可以根据自己的喜好配置top

(5)o:对top的现有配置排序(order)

(6)r:使用renice命令

(7)k:使用kill命令


  • top的命令行使用方式

(1) 批量处理模式

$ top -b 

加上-b后,top显示的时候,将每一次显示的结果都打印出来,不会将上一次的结果给冲掉。

(2) 显示某个进程的信息

$ top -p pid

如果是多个进程,只要如下:

$ top -p pid1,pid2,pid3

(3) 显示某个用户的进程信息

$ top -u username

(4) 显示线程的信息,而不是进程的信息

$ top -H 

(5) 设置刷屏的时间(单位为s)

$ top -d ntime

 

<style></style>

Linux 常用命令-- top