zoukankan      html  css  js  c++  java
  • vmstat、top

    vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。

    vmstat 最常用的有两个数字参数,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如果不写就是一直采样下去。

    下面是使用 make -j10 编译时输出的报告:

    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     0  0      0 4944468 261552 2525348    0    0     0     2    1    5  0  0 99  0  0
     0  0      0 4944840 261552 2525348    0    0     0    48  359  176  1  0 99  0  0
     0  0      0 4944584 261552 2525348    0    0     0     0   60   38  0  0 100  0  0
    10  0      0 4885292 261552 2525360    0    0     0     0 7369  582 59 30 11  0  0
    10  0      0 4868388 261552 2525424    0    0     0     0 8101  485 69 30  0  0  0

    字段说明详见 man vmstat ,如下:

    Procs(进程):

    r: 运行队列中进程数量

    b: 等待IO的进程数量,即阻塞的进程

    Memory(内存):

    swpd: 虚拟内存大小

    free: 可用内存大小

    buff: 用作缓冲的内存大小

    cache: 用作缓存的内存大小

    Swap:

    si:  Amount of memory swapped in from disk (/s).

    so: Amount of memory swapped to disk (/s).

    IO:(现在的Linux版本块的大小为1024bytes)

    bi: 每秒读取的块数

    bo: 每秒写入的块数

    系统:

    in: 每秒中断数,包括时钟中断。

    cs: 每秒上下文切换数。

    CPU(以百分比表示):

    us: 用户进程执行时间(user time)

    sy: 系统进程执行时间(system time)

    id: 空闲时间(包括IO等待时间)

    wa: 等待IO时间

    top:

    可以动态观察系统进程状况,方便系统管理员实时了解系统资源现状。

    常用热键用途
    t 显示摘要信息开关.
    m 显示内存信息开关.
    A 分类显示系统不同资源的使用大户。有助于快速识别系统中资源消耗多的任务。
    f 添加删除所要显示列.
    o 调整所要显示列的顺序.
    r 调整一个正在运行的进程Nice值.
    k 结束一个正在运行的进程.
    z 彩色/黑白显示开关                                      
    1 单CPU显示开关  
    H      显示线程
    x 高亮显示排序的列
    y   高亮显示正在运行的任务
    z 彩色、黑白显示
    Z   选择颜色模板(a或 w来调整,回车确定)
    N 按PID排序
    M 按内存使用排序
    P 按CPU使用排序
    <(>) 以当前排序列的左边(或右边)列进行排序
    R 反向排序

    PR (Priority):即进程的优先级,或者通俗点说就是程序被CPU执行的先后顺序,此值越小进程的优先级别越高。

    NI (Nice value):Nice值,其表示进程可被执行的优先级的修正数值。如前面所说,PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+nice。这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行。在UNIX系统或者LINUX系统中,使用从-20到+19的一个可变数值来表示这个nice值。

    uptime 命令主要用于获取主机运行时间和查询linux系统负载等信息。

    依次显示系统已经运行了多长时间,信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

    08:00:30 up 5 days,  1:29,  2 users,  load average: 0.08, 0.05, 0.08


    free 命令

                 total       used       free     shared    buffers     cached
    Mem:       8160468    2470356    5690112          0     240448    1866024
    -/+ buffers/cache:     363884    7796584
    Swap:            0          0          0

    对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。从应用程序的角度来说,可用内存= free buffers+cached = total-used

    pmap 命令可以显示进程的内存映射,使用这个命令可以找出造成内存瓶颈的原因。

    while true; do pmap -d  3066 | tail -1; sleep 2; done

    mapped: 11952K    writeable/private: 248K    shared: 0K
    mapped: 11952K    writeable/private: 248K    shared: 0K
    mapped: 11952K    writeable/private: 248K    shared: 0K
  • 相关阅读:
    Wireshark抓取iPhone的数据包
    AVSpeechSynthesizer
    NSData,Byte,NSString 转换
    app 国际化
    带颜色日志
    swift生成二维码
    CocosPods安装和导入第三方框架
    多线程总结
    计算机系统导论——读书笔记——第六章 存储器层次结构
    数据结构与算法——编程作业——内排序&外排序
  • 原文地址:https://www.cnblogs.com/tianyajuanke/p/3333281.html
Copyright © 2011-2022 走看看