查看进程占用内存cpu信息,Linux命令—TOP


查看进程占用内存cpu信息,Linux命令—TOP
 
我们使用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
 
---------------------------------------------------------
 
动态查看一个进程的内存使用
 
1、top命令  
top -d 1 -p pid [,pid ...]  //设置为delay 1s,默认是delay 3s   
如果想根据内存使用量进行排序,可以shift + m(Sort by memory usage)  
 
静态查看一个进程的内存使用
 
1、pmap命令  
pmap pid  
  
2、ps命令  
ps aux|grep process_name  
  
3、查看/proc/process_id/文件夹下的status文件  
Name:   php  
State:  R (running)  
SleepAVG:       0%  
Tgid:   21574  
Pid:    21574  
PPid:   10005  
TracerPid:      0  
Uid:    1000    1000    1000    1000  
Gid:    100     100     100     100  
FDSize: 256  
Groups: 16 100   
VmPeak:   161740 kB  
VmSize:   161740 kB  
VmLck:         0 kB  
VmHWM:    107144 kB  
VmRSS:    107144 kB  
VmData:   106192 kB  
VmStk:        84 kB  
VmExe:      5588 kB  
VmLib:      7884 kB  
VmPTE:       268 kB  
Threads:        1  
SigQ:   0/69632  
SigPnd: 0000000000000000  
ShdPnd: 0000000000000000  
SigBlk: 0000000000000000  
SigIgn: 0000000000001000  
SigCgt: 00000001818040a7  
CapInh: 0000000000000000  
CapPrm: 0000000000000000  
CapEff: 0000000000000000  
Cpus_allowed:   00000000,00000000,00000000,0000000f  
Mems_allowed:   1  
  
任务虚拟地址空间的大小 VmSize  
应用程序正在使用的物理内存的大小 VmRSS  
 

相关内容

    暂无相关文章