zoukankan      html  css  js  c++  java
  • LInux查看CPU状态

    1、htop

    2、top

    内容解释:

      PID:进程的ID
      USER:进程所有者
      PR:进程的优先级别,越小越优先被执行
      NInice:值
      VIRT:进程占用的虚拟内存
      RES:进程占用的物理内存
      SHR:进程使用的共享内存
      S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
      %CPU:进程占用CPU的使用率
      %MEM:进程使用的物理内存和总内存的百分比
      TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
      COMMAND:进程启动命令名称

    3、cat /proc/stat

     4、

    pmap

    可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:
      $ pmap -d 5647

    ps

      如下例所示:
      $ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'  其中rsz是是实际内存
      $ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle |  sort -nrk

      其中rsz为实际内存,上例实现按内存排序,由大到小

    在Linux下查看内存我们一般用free命令:
    [root@scs-2 tmp]# free
                 total       used       free     shared    buffers     cached
    Mem:       3266180    3250004      16176          0     110652    2668236
    -/+ buffers/cache:     471116    2795064
    Swap:      2048276      80160    1968116

    下面是对这些数值的解释:
    total:总计物理内存的大小。
    used:已使用多大。
    free:可用有多少。
    Shared:多个进程共享的内存总额。
    Buffers/cached:磁盘缓存的大小。
    第三行(-/+ buffers/cached):
    used:已使用多大。
    free:可用有多少。
    第四行就不多解释了。
    区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。 这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是16176KB,已用内存是3250004KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
    第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
    所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
    如上例:
    2795064=16176+110652+2668236

    接下来解释什么时候内存会被交换,以及按什么方交换。 当可用内存少于额定值的时候,就会开会进行交换。
    如何看额定值:
    cat /proc/meminfo

    [root@scs-2 tmp]# cat /proc/meminfo
    MemTotal:      3266180 kB
    MemFree:         17456 kB
    Buffers:        111328 kB
    Cached:        2664024 kB
    SwapCached:          0 kB
    Active:         467236 kB
    Inactive:      2644928 kB
    HighTotal:           0 kB
    HighFree:            0 kB
    LowTotal:      3266180 kB
    LowFree:         17456 kB
    SwapTotal:     2048276 kB
    SwapFree:      1968116 kB
    Dirty:               8 kB
    Writeback:           0 kB
    Mapped:         345360 kB
    Slab:           112344 kB
    Committed_AS:   535292 kB
    PageTables:       2340 kB
    VmallocTotal: 536870911 kB
    VmallocUsed:    272696 kB
    VmallocChunk: 536598175 kB
    HugePages_Total:     0
    HugePages_Free:      0
    Hugepagesize:     2048 kB

    用free -m查看的结果:
    [root@scs-2 tmp]# free -m 
                 total       used       free     shared    buffers     cached
    Mem:          3189       3173         16          0        107       2605
    -/+ buffers/cache:        460       2729
    Swap:         2000         78       1921

  • 相关阅读:
    C++输入输出缓冲区的刷新问题
    C++11中新特性之:initializer_list详解
    GCC --verbose选项, -lpthread 和-pthread的区别
    C语言的可变参数
    YCM的安装与配置
    【机器学习】正则化的线性回归 —— 岭回归与Lasso回归
    一文读懂线性回归、岭回归和Lasso回归
    美团酒旅数据治理实践
    kettle完成一个数据库到另一个数据的整体迁移
    kettle完成一个数据库到另一个数据的整体迁移
  • 原文地址:https://www.cnblogs.com/zl1991/p/6925059.html
Copyright © 2011-2022 走看看