我们使用top命令来查看CPU使用状况。

top不会产生输出,屏幕内容保持不变。它刷新屏幕以显示新信息。因此,如果您只执行top并保持屏幕一直开启,则屏幕始终显示最新信息。退出top的命令为q,或者按下Ctrl-C.

top - 17:03:45 up 58 days,  4:01,  1 user,  load average: 0.00, 0.02, 0.00
Tasks: 172 total,  1 running, 171 sleeping,  0 stopped,  0 zombie
Cpu(s):  0.2% us,  0.1% sy,  0.0% ni, 99.7% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:  4037036k total,  4007280k used,    29756k free,    93384k buffers
Swap:  8385888k total,    71536k used,  8314352k free,  3068240k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                             
27167 oracle    16  0 2011m 490m 483m S    1 12.4  0:46.93 oracle                                                               
27175 oracle    15  0 2011m 517m 510m S    1 13.1  0:49.78 oracle                                                               
5003 oracle    15  0 2021m  33m  29m S    0  0.9  3:56.10 oracle                                                               
    1 root      16  0  4756  552  460 S    0  0.0  0:09.31 init                                                                 
    2 root      RT  0    0    0    0 S    0  0.0  0:00.47 migration/0                                                           
  ...............................

第一行(top):

top - 17:03:45 up 58 days,  4:01,  1 user,  load average: 0.00, 0.02, 0.00
    “17:03:45”为系统当前时刻;
    “58 days,  4:01”为系统启动后到现在的运作时间;
    “1 user”为当前登录到系统的用户,更确切的说是登录到用户的终端数--同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目;
    “load average”为当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过CPU数目时,CPU将比较吃力的负载当前系统所包含的进程;

第二行(Tasks):
    “172 total”为当前系统进程总数;
    “1 running”为当前运行中的进程数;
    “171 sleeping”为当前处于等待状态中的进程数;
    “0 stoped”为被停止的系统进程数;
    “0 zombie”为僵死的进程数;

第三行(Cpus):
  显示CPU利用率的详细信息,如果有多个CPU,屏幕将在每行显示一个CPU的信息。

第四行(Mem):
  显示可用的和已利用的内存

第五行(Swap):
    表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。

  其余的显示内容以表格格式显示进程。下面对各列进行解释:

列描述

PID            进程的进程ID

USER          运行该进程的用户

PRI          进程的优先级

NI            nice值:该值越高,任务的优先级越低

SIZE          该进程使用的内存(代码+数据+堆栈)

RSS          该进程使用的物理内存

SHARE        该进程使用的共享内存

STAT  该进程的状态,用代码显示。一些主要的状态代码包括:
R— 正在运行
S— 正在休眠
Z— 迟滞
T— 已停止

您还会看到第二个和第三个字符,它们表示:
W— 已换出的进程
N— 正nice值

%CPU          该进程使用的CPU百分比

%MEM          该进程使用的内存百分比

TIME          该进程使用的总CPU时间

CPU          如果这是一个多处理器系统,该列指明正在其上运行进程的CPU的ID。

COMMAND        该进程发出的命令

top运行中可以通过top的内部命令对进程的显示方式进行控制。内部命令如下:

  s -改变画面更新频率
  l -关闭或开启第一部分第一行top信息的表示
  t -关闭或开启第一部分第二行Tasks和第三行Cpus信息的表示
  m -关闭或开启第一部分第四行Mem和第五行Swap信息的表示
  N -以PID的大小的顺序排列表示进程列表

P -以CPU占用率大小的顺序排列进程列表

M -以内存占用率大小的顺序排列进程列表
  h -显示帮助
  n -设置在进程列表所显示进程的数量
  q -退出top

---------------------------------------------------------

动态查看一个进程的内存使用

view plaincopy to clipboardprint?
  1. 1、top命令
  2. top -d 1 -p pid [,pid ...]  //设置为delay 1s,默认是delay 3s
  3. 如果想根据内存使用量进行排序,可以shift + m(Sort by memory usage)

静态查看一个进程的内存使用

view plaincopy to clipboardprint?
  1. 1、pmap命令
  2. pmap -d pid
  3. 最后一行的值
    mapped 表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小,即ps出的vsz
    writeable/private  表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小     
    shared 表示进程和其他进程共享的内存大小
  4. 2、ps命令
  5. ps aux|grep process_name
  6. 3、查看/proc/process_id/文件夹下的status文件
  7. Name:   php
  8. State:  R (running)
  9. SleepAVG:       0%
  10. Tgid:   21574
  11. Pid:    21574
  12. PPid:   10005
  13. TracerPid:      0
  14. Uid:    1000    1000    1000    1000
  15. Gid:    100     100     100     100
  16. FDSize: 256
  17. Groups: 16 100
  18. VmPeak:   161740 kB
  19. VmSize:   161740 kB
  20. VmLck:         0 kB
  21. VmHWM:    107144 kB
  22. VmRSS:    107144 kB
  23. VmData:   106192 kB
  24. VmStk:        84 kB
  25. VmExe:      5588 kB
  26. VmLib:      7884 kB
  27. VmPTE:       268 kB
  28. Threads:        1
  29. SigQ:   0/69632
  30. SigPnd: 0000000000000000
  31. ShdPnd: 0000000000000000
  32. SigBlk: 0000000000000000
  33. SigIgn: 0000000000001000
  34. SigCgt: 00000001818040a7
  35. CapInh: 0000000000000000
  36. CapPrm: 0000000000000000
  37. CapEff: 0000000000000000
  38. Cpus_allowed:   00000000,00000000,00000000,0000000f
  39. Mems_allowed:   1
  40. 任务虚拟地址空间的大小 VmSize
  41. 应用程序正在使用的物理内存的大小 VmRSS

转自:http://www.cnblogs.com/yy2011/archive/2011/09/13/2175026.html

转载于:https://www.cnblogs.com/zjfdbz/archive/2013/03/10/2952484.html

动态和静态查看一个进程的内存使用相关推荐

  1. linux查看所有进程占用内存命令,LINUX进程内存占用查看命令

    (1)top使命 代码如下 $ top -u oracle 1.top命令 代码如下 top -d 1 -p pid [,pid ...] //设置为delay 1s,默认是delay 3s 如果想根 ...

  2. 查看linux每个进程占用内存多少,Linux下如何查看哪个进程占用内存多?

    1.top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者 ...

  3. lsof 查看一个进程打开哪些fd及对应的文件或套接字操作

    如何查看一个进程打开哪些fd及对应的文件或套接字操作 /********************************************************************** A ...

  4. oracle 根据spid查sql,探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句...

    Oracle数据库查看一个进程是如何执行相关的实际sql语句 代码如下: SELECT b.sql_text,sid,serial#,osuser,machine FROM v$session a,v ...

  5. linux 如何查看一个进程空间所装载的共享库

    linux中每个进程空间都为共享库划分了专门区域,如下所图 查看一个进程所有已被映射的区域可以使用/proc/PID/maps看到 例如

  6. AIX详细查看用户/进程使用内存

    AIX详细查看用户/进程使用内存 来源:https://blog.csdn.net/mydriverc2/article/details/41956063 问题描述:通过topas发现%comp内存已 ...

  7. linux查看进程grep工作组,Linux下查看一个进程打开了哪...-linux 如何找到进程的工作目录...-使用 grep 恢复误删的文本文件_169IT.COM...

    Linux下查看一个进程打开了哪些文件的命令示例,供大家学习参考. 查看进程14755(httpd)打开了哪些文件: 代码如下: localhost:~# lsof -p 14755 COMMAND ...

  8. Linux 查看某一个进程占用内存情况

    Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如 ps -ef | grep kafka 可以看到kafka这个程序的进程id 可以看到是2913,现在可以使用如下命令查 ...

  9. linux线程有什么用,在linux下查看一个进程它有多少个线程是用什么命令?

    ps -ef f 用树形显示进程和线程,比如说我想找到proftp现在有多少个进程/线程,可以用 $ ps -ef f | grep proftpd nobody 23117 1 0 Dec23 ? ...

最新文章

  1. 牛客 - 养花(最大流)
  2. mysql数据库表子查询语句_MySQL使用子查询教程
  3. 10种电脑无法启动故障
  4. Android Design 1: Back键和Up键在App导航中的表现
  5. 【路径规划】基于matlab GUI改进的DWA算法机器人静态避障路径规划【含Matlab源码 678期】
  6. Android简单实现图片缩略图类ThumbnailUtils
  7. 开源项目CRMEB 任意文件下载漏洞分析
  8. 云服务器的带宽是什么意思?怎么选择带宽大小?
  9. 为什么我的echarts字体样式这么丑?Echarts 柱状图、饼图 等标签、字体、样式调整
  10. ASP.NET Development Server的Directory Browsing模式HTML垃圾代码
  11. Ubuntu上不了网,不可以ping网址,但是可以ping通其ip
  12. 《Linux高性能服务器编程》阅读笔记 之(二)IP 协议详解
  13. 学习PPT与Excel的各种高级应用并掌握相关技巧
  14. SAP PR采购申请的审批策略
  15. ubuntu18 dso安装
  16. arcgis 投影坐标系的区分
  17. 需求调研过程管理小议
  18. MySQL 表分区?涨知识了
  19. 星号构成的直角三角形图案
  20. LeetCode 698.Partition_to_k_equal_subsets. Three different solutions: DFS, DP, DP topdown + DFS

热门文章

  1. 有没有好奇过路由器宽带拨号的mtu值为什么是1492呢?了解MTU与IP分片
  2. ubuntu 下使用wireless拨号上网
  3. 梦想起航商务工作PPT模板-优页文档
  4. 服务器删除安装的系统教程,服务器安装系统教程
  5. linux下使用VSCode的C++添加json问题。
  6. JavaScript高级程序设计(第4版)学习随笔【第六章】
  7. 巧用 Redis Hyperloglog,轻松统计 UV 数据
  8. BAT机器学习面试1000题系列(第150~279题)
  9. touchGFX 添加中文字库
  10. centos7上安装rar解压软件