• top命令详解不完整的地方欢迎评论


    第一行:

    top - 20:42:47 up 57 days,  1:25,  4 users,  load average: 0.00, 0.00, 0.00

    现在时间20:42:47,启动了57 days,  1:25分钟。4个用户在线,1,5,15分钟的load情况

    第二行:

    Tasks: 199 total,   1 running, 198 sleeping,   0 stopped,   0 zombie

    不用解释,至于为什么stopped还存着,不清楚。已经google清楚,一个前端进程被ctrl+z,变成stopped,同时可以用kill -STOP 1234产生效果。可以用fg恢复到前台,也可以用bg恢复到后台,也可以用kill -CONT 1234恢复。在STOPPED状态下,可以kill进程。

    第三行:

    Cpu(s):  3.4%us,  0.8%sy,  0.5%ni, 94.8%id,  0.0%wa,  0.0%hi,  0.6%si,  0.0%st 这都是占用时长的百分比

    3.4的未nice过的用户空间线程执行时间,0.8的内核空间执行时间,0.5的用户进程空间内被nice过的进程的执行时间,94.8 idle,0.0的等待IO时间,0.6的hardware interruption时间,0.0的software interruption时间。

    第四/五行:

    Mem:  16467920k total, 11401804k used,  5066116k free,   598016k buffers

    Swap:        0k total,        0k used,        0k free,  2988464k cached

    cached和Swap没关系,就是mem里边cache住的。used值包括buffers和cached,真正在used是这个used减去(buffers+cached),而这个free是减去(buffers+cached)后的free,真正的free是加上(buffers+cached)的,因为(buffers+cached)是用来缓存程序可能用到的内容。

    [root@localhost ~]# free -m                         (拿这个来说,第二行的-/+后的结果才是真正的used和free)
                 total       used       free     shared    buffers     cached
    Mem:         24030       8939      15091          0        192       3641
    -/+ buffers/cache:       5105      18925

    具体buffers和cache,buffers不仅存着数据,还会存数据的来源、权限,跟踪去处。cache只存数据。见参考   

    第六行:

    PID,USER进程号,用户名。

    NI,nice,好看不好看。。动态修正CPU调度。范围(-20~19)。越大,cpu调度越一般,越小,cpu调度越偏向它。一般用于后台进程,调整也是往大了调,用来给前台进程让出CPU资源。

    PR:优先级,会有两种格式,一种是数字(默认20),一种是RT字符串。

    PR默认是20,越小,优先级越高。修改nice可以同时修改PR,测试过程:先开一个窗口,运行wc,另开一个窗口运行top,按N按照PID倒序排,按r输入要renice的PID,然后输入-19~20之间的值,可以看到NI变成输入的值,PR=PR+NI。修改NI得到PR的范围是0~39。优先级由高到低

    RT是real-time。只能用chrt -p (1~99) pid来修改。chrt -p 1 1234会将1234的PR改成-2,chrt -p 98 1234变成-99。chrt -p 99 1234会变成RT......只要chrt过,修改nice后PR不会再更改。修改chrt得到的PR范围是RT~-2。优先级由高到低

    VIRT:一个进程瞬时可以访问的所有内存总和大小,包括RES自己在使用的,共享的类库,和其他进程共享的内存,内存中的文件数据。共享的类库,一个大文件,只有一个程序片段被用到,这个文件会被 map到VIRT和SHR中,程序片段会在RES中。

    S:状态S -- Process Status. The status of the task which can be one of:

    D Uninterruptible sleep (usually IO)
    R Running or runnable (on run queue)
    S Interruptible sleep (waiting for an event to complete)
    T Stopped, either by a job control signal or because it is being traced.
    W paging (not valid since the 2.6.xx kernel)
    X dead (should never be seen)
    Z Defunct ("zombie") process, terminated but not reaped by its parent.

    %CPU,总体CPU百分比,按H可以显示所有线程。8个核,从0~800%。

    %mem,RES占总MEM的百分比

    TIME+,自启动到现在占用的CPU时间。

    转载原文地址https://www.cnblogs.com/tmpt/p/3603561.html

  • 相关阅读:
    业务决定功能,功能决定技术
    类的设计问题
    鲁棒图的三元素:抽象对象,实体对象和控制对象
    swift 命名空间实现的设计思考:extension YKKit where Base == String
    iOS keychain注解
    学科基本结构理论-布鲁纳学习理论
    软件框架的理解
    数据库管理系统-可扩展的功能组件
    SQLite权威指南
    应用程序员眼中的数据库管理系统:API+数据库语言
  • 原文地址:https://www.cnblogs.com/zhehan/p/7814842.html
Copyright © 2020-2023  润新知