linux 查看进程及进程内存使用情况

linux 查看进程:

1. ps 命令 

        ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

    (1)打开终端,输入“ps aux”,点击“回车”,显示linux下所有进程。

    a:显示当前终端下的所有进程信息,包括其他用户的进程。

    u:使用以用户为主的格式输出进程信息。

    x:显示当前用户在所有终端下的进程。

 

**上图中各字段解释:**

USER:启动该进程的用户账号名称
PID:该进程的ID号,在当前系统中是唯一的
%CPU:CPU占用的百分比
%MEM:内存占用的百分比

VSZ:占用虚拟内存(swap空间)的大小
RSS:占用常驻内存(物理内存)的大小

TTY:该进程在哪个终端上运行。“?”表未知或不需要终端
STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。

START:启动该进程的时间
TIME:该进程占用CPU时间
COMMAND:启动该进程的命令的名称

**总结:ps aux 是以简单列表的形式显示出进程信息。**

(2)ps 查看某一进程

ps aux | grep topic_xxxx

(3)查看某一进程详细的内存情况

cat /proc/id/status

2. top 命令

  (1)ps提供的是当前进程当前时刻的快照。如果想状态自动刷新,需要使用top命令

 前5行为统计信息:

   

1、第一行是任务队列信息

top - 11:04:35 up 15 days,  26min,  0 user,  load average: 13.19, 13.82, 14.54
同 uptime 命令的执行结果一样,uptime 命令执行结果:
$ uptime
 top - 11:04:35 up 15 days, 26min, 0 user, load average: 13.19, 13.82, 14.54
(1)11:04:35  当前时间
(2)up 15 days, 26min  系统连续运行时间
(3)0 user  当前登录用户数
(4)load average: 13.19, 13.82, 14.54  系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到当前时刻的平均值。

 

2、第二行为进程信息统计数据

Tasks:  2937 total,   3 running,  2929 sleeping,   2 stopped,   3 zombie

(1)total  进程总数

(2)running  正在运行的进程数

(3)sleeping  睡眠的进程数

(4)stopped  停止的进程数

(5)zombie  僵尸进程数

3、第三行CPU信息统计数据

Cpu(s):  25.9%us,  2.5%sy,  0.0%ni, 71.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

(1)25.9%us  用户空间占用CPU百分比

(2)2.5%sy  内核(系统)空间占用CPU百分比

(3)0.0%ni  用户进程空间内改变过优先级的进程占用CPU百分比

(4)71.5%id  空闲CPU百分比

(5)0.0%wa  等待输入输出的CPU时间百分比

(6)0.0%hi  硬件CPU中断占用百分比

(7)0.0%si  软中断占用百分比

(8)0.0%st  虚拟机占用百分比

4、第四行为内存信息数据

Mem:   13192622 total,  3001840 free, 55871036 used, 73053344 buffers

(1)total  物理内存总量

(2)free  空闲内存总量

(3) used  使用的物理内存总量

(4)buffers  用作内核缓存的内存量

5、第五行为交换区信息数据

Swap:  3906556 total,    38896  used,  3867660 free,     70520920 cached
(1)total  交换区总量
(2)used  使用的交换区总量
(3)free  空闲交换区总量
(4)cached  缓冲的交换区总量

 空闲内存 = 空闲内存总量free + 内核缓存的内存量 buffers + 缓冲的交换区总量cached

6. 第六行以下为区域统计信息

 

各列含义如下:

序号  列名    含义
a  PID    进程id
b  PPID      父进程id
c   RUSER    Real user name
d  UID       进程所有者的用户id
e  USER      进程所有者的用户名
f  GROUP     进程所有者的组名
g  TTY       启动进程的终端名。不是从终端启动的进程则显示为 ?
h  PR        优先级
i  NI        nice值。负值表示高优先级,正值表示低优先级
j  P         最后使用的CPU,仅在多CPU环境下有意义
k  %CPU      上次更新到现在的CPU时间占用百分比
l  TIME      进程使用的CPU时间总计,单位秒
m  TIME+     进程使用的CPU时间总计,单位1/100秒
n  %MEM      进程使用的物理内存百分比
o  VIRT      虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p  SWAP      进程使用的虚拟内存中,被换出的大小,单位kb。
q  RES       常驻内存。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
r  CODE      可执行代码占用的物理内存大小,单位kb
s  DATA      可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
t  SHR       共享内存。单位kb
u  nFLT      页面错误次数
v  nDRT      最后一次写入到现在,被修改过的页面数。
w  S         进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
x  COMMAND   命令名/命令行
y  WCHAN     若该进程在睡眠,则显示睡眠中的系统函数名
z  Flags     任务标志,参考 sched.h

复制代码

按q可退出 

 (2) 将进程快照储存到文件中

        输入下列命令:

1

# top -b -n1 > /tmp/process.log

     你也可以将结果通过邮件发给自己:

1

# top -b -n1 | mail -s 'Process snapshot' yourname@example.com

(3)对进程按CPU或Mem进行排序

    a.运行top

    b. 大写的P,按cpu排序或者  top -o %CPU

   c. 大写的M,按Mem进行排序 top -o %MEM

(4)查看当前用户

3. pgrep

(1) pgrep 查找某一线程

pgrep能查找当前正在运行的进程并列出符合条件的进程ID。例如显示firefox的进程ID:

1

$ pgrep firefox

(2)  显示进程名为sshd、所有者为root的进程

1

$ pgrep -u root sshd

4. 关闭进程

kill 进程id号

 

参考blog:

https://www.cnblogs.com/zwgblog/p/5971455.html

https://www.cnblogs.com/hml-blog-com/p/11558369.html

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值