linux常用进程管理命令ps top renice

简介:

Linux常用进程管理命令总结

1.进程的存放目录

#此目录为存放进程信息的目录,与当前进程PID一一对应

[root@kvm ~]# ls /proc/

[root@kvm 1]# pwd

/proc/1

可以看到当前进程执行的命令是什么,如下

[root@kvm 1]# cat cmdline

/sbin/init


2.ps命令

[root@ kvm 1]# ps -aux

Warning: bad syntax, perhaps a bogus '-'? See/usr/share/doc/procps-3.2.7/FAQ

USER       PID %CPU%MEM    VSZ   RSS TTY     STAT START   TIME COMMAND

root         1  0.0 0.2   2072   628 ?       Ss   07:23   0:01 init [3]  

--------------------------------略-----


如上可以看到有关进程一系列参数,参数解释:

S:睡眠(可中断的睡眠)

s:会话的生成者,父进程

S<:高优先级进程

SN:低优先级进程

R:运行中或者准备就绪的状态

Ssl:表示多线程的进程

Ss+:前台进程组

D:睡眠状态(不可中断的睡眠,与S相反)

T:停止状态的进程

Z:僵尸进程

一个进程如果出现大量的僵死状态的进程 说明软件有BUG需要注意


%CPU:当前进程所占用的CPU时间:当前实际占用的时间

%MEM:内存的比例,RSS与整个内存空间的比率(RSS:MEM)

RSS:实际内存集,此进程真正占用的物理内存空间大小,因此物理内存的某些数据被交换到swap,

它将不再属于RSS,所以需要看VSZ的数值

VSZ:虚拟内存所占据的大小

START:进程的启动时间

COMMAND:由哪个命令启动起来的


如果想查看某进程的子进程以及相关信息可以使用命令: ps –axjf

如下所示:

[root@svn ~]# ps -axjf

   1  2137 2137  2137 ?           -1 Ss       0  0:00 /usr/sbin/atd

   1  2146 2145  2145 ?           -1 Sl      99 10:03 /usr/local/sbin/pdnsd -d

   1  2169 2169  2169 tty1      2169 Ss+      0  0:00 /sbin/mingetty tty1

   1  2170 2170  2170 tty2      2170 Ss+      0  0:00 /sbin/mingetty tty2

   1  2171 2171  2171 tty3      2171 Ss+      0  0:00 /sbin/mingetty tty3

   1  2172 2172  2172 tty4      2172 Ss+      0  0:00 /sbin/mingetty tty4

   1  2173 2173  2173 tty5      2173 Ss+      0  0:00 /sbin/mingetty tty5

   1  2174 2174  2174 tty6      2174 Ss+     0   0:00 /sbin/mingetty tty6

   1  2318 2318  2318 ?           -1 Ss       0  0:00 /usr/local/squid-3.2.6/sbin/squid -s

2318  2320 2318  2318 ?           -1 Sl      99 478:55 \_ (squid-1) -s

这样可以看到 子进程与父进程等对应关系都可以一一列出显示


3.top命令

Linux的top命令类似于windows的任务管理器,都是以动态方式实时查看进程的状态,如下所示:

[root@svn ~]#top

top - 14:53:30 up 44 days, 19:09,  2 users, load average: 0.02, 0.16, 0.17

Tasks:  82 total,   1 running, 81 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.1%us,  0.0%sy, 0.0%ni, 99.9%id,  0.0%wa,  0.0%hi, 0.0%si,  0.0%st

Mem:   3985168ktotal,  3960592k used,    24576k free,   330408k buffers

Swap:  4192956ktotal,     9360k used, 4183596k free,  1363684k cached

 PID USER      PR NI  VIRT  RES SHR S %CPU %MEM    TIME+  COMMAND

2320 nobody    15  0 1915m 1.8g 5352 S  0.3 47.1478:57.02 squid

   1 root      15  0 10368  604  556 S 0.0  0.0   0:01.64 init

   2 root      RT -5     0    0   0 S  0.0  0.0  0:00.08 migration/0

   3 root      34 19     0    0   0 S  0.0  0.0  0:00.05 ksoftirqd/0

   4 root      RT -5     0    0   0 S  0.0  0.0  0:00.00 watchdog/0  

下面来一一解释相关参数

top - 14:53:30 up 44 days, 19:09,  2 users, load average: 0.02, 0.16, 0.17

#up 44 days :启动时长

#load average:平均负载,指CPU队列当中等待执行的进程个数的平均值,(CPU可能只有一颗,在某时刻运行的进程可能有多个,

如果有多个进程都需要运行的话需要等待)0.02,0.16, 0.17 分别表示当前1分钟的负载值、5分钟负载值、15分钟负载值,值越少表示当前进程等待处理的时间越短或CPU性能越好,总之,值越小越优,当单颗cpu的平均值超过3的时候,意味着CPU的瓶颈太高


Tasks:  82 total,   1 running, 81 sleeping,   0 stopped,   0 zombie

#汇总信息


Cpu(s):  0.1%us,  0.0%sy, 0.0%ni, 99.9%id,  0.0%wa,  0.0%hi, 0.0%si,  0.0%st

#0.1%us:用户占用空间

#0.0%sy:系统(内核)占用率

#0.0%ni:调整nice优先级之后的进程占用率

#99.9%id:CPU空闲比例

#0.0%wa:等待IO(磁盘加载数据)完成的的占用率

#0.0%hi

#0.0%si

#0.0%st:虚拟机占用的时间比例

Mem:   3985168ktotal,  3960592k used,    24576k free,   330408k buffers

#MEM:内存信息

#3985168k total : 物理内存总大小

# 3960592k used:使用了多少

#24576k free:剩余了多少

#330408k buffers :有多少用于缓冲


Swap:  4192956ktotal,     9360k used,  4183596k free,  1363684k cached

#1363684k cached:有多少是缓存,缓存信息是mem


 PID USER      PR NI  VIRT  RES SHR S %CPU %MEM    TIME+  COMMAND

2320 nobody    15  0 1915m 1.8g 5352 S  0.3 47.1478:57.02 squid

   1 root      15  0 10368  604  556 S 0.0  0.0   0:01.64 init

   2 root      RT -5     0    0   0 S  0.0  0.0  0:00.08 migration/0

   3 root      34 19     0    0   0 S  0.0  0.0  0:00.05 ksoftirqd/0

   4 root      RT -5     0    0   0 S  0.0  0.0  0:00.00 watchdog/0  

#RP:代表实时优先级

#NI: nice

#VIRT:虚拟内存集

#RES: 真正占据物理空间

#SHR:与其他进程共享的内存空间大小

#S:状态

#%CPU:占用的CPU

#%MEM:占用的内存

#TIME+:占据CPU时间的累积时间长


4.调整进程nice值

Linux进程的nice数值范围:

从负20 – 19 (-20 -- 19),nice值越小优先级越高

查看nice值:

[root@svn ~]# top

----------中间略-------------

 PID USER      PR NI VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

   1 root      15  10368 604  556 S  0.0 0.0   0:01.64 init

   2 root      RT -5    0   0    0 S  0.0 0.0   0:00.08 migration/0  

   3 root      34 19    0   0    0 S  0.0 0.0   0:00.00 ksoftirqd/0

   4 root      RT -5    0    0    0 S 0.0  0.0   0:00.00 watchdog/0

其中,NI为nice值,上面有提到过,不做过多解释

下面来更改进程httpd的nice值:


(1)查看进程号:

[root@mode ~]# ps -ef | grep http

root      3332     1  008:02 ?        00:00:00 /usr/sbin/httpd

apache    3334  3332  008:02 ?        00:00:00 /usr/sbin/httpd

apache    3335  3332  008:02 ?        00:00:00 /usr/sbin/httpd

(2)记录进程号对其更改nice值:

[root@mode ~]# renice -1 3332

3332: old priority 0, new priority -1

可以看到 old prioity是之前的nice值,为0 ,newpriority 为当前修改后的nice值 为-1



本文转自zuzhou 51CTO博客,原文链接:http://blog.51cto.com/yijiu/1231227
相关文章
|
1天前
|
运维 关系型数据库 MySQL
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
|
1天前
|
运维 Linux Shell
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
|
1天前
|
运维 程序员 Linux
运维最全Linux 基本防火墙设置和开放端口命令,2024年最新程序员如何自我学习和成长
运维最全Linux 基本防火墙设置和开放端口命令,2024年最新程序员如何自我学习和成长
|
1天前
|
运维 Ubuntu 安全
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
|
1天前
|
运维 Linux Perl
运维最全linux 命令行操作串口_linux串口命令(1),21年Linux运维面经分享
运维最全linux 命令行操作串口_linux串口命令(1),21年Linux运维面经分享
运维最全linux 命令行操作串口_linux串口命令(1),21年Linux运维面经分享
|
1天前
|
消息中间件 运维 Linux
运维最全Linux 命令大全之scp命令_linux scp 指令(1),2024年最新从消息中间件看分布式系统的多种套路
运维最全Linux 命令大全之scp命令_linux scp 指令(1),2024年最新从消息中间件看分布式系统的多种套路
|
1天前
|
Linux Shell
Linux下su与su -命令的本质区别_6、用su命令和su -切换账户时,两个命令有什么区别 (1)
Linux下su与su -命令的本质区别_6、用su命令和su -切换账户时,两个命令有什么区别 (1)
Linux下su与su -命令的本质区别_6、用su命令和su -切换账户时,两个命令有什么区别 (1)
|
1天前
|
Linux Shell C语言
linux下configure,make(makefile),cmake命令详解-makefile和CMakeList
linux下configure,make(makefile),cmake命令详解-makefile和CMakeList
|
2天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是强大操作系统,提供众多命令行工具,如安装登录(login, shutdown, install)、文件处理(file, mkdir, grep)和系统管理(df, top, kill)。此外,还包括网络操作(ifconfig, ping, telnet)和安全相关(passwd, su, chmod)命令。了解这些基础命令对于有效管理Linux系统至关重要。详细信息和特定用法可能因版本差异而变化,建议查阅相关文档。
223 2
|
3天前
|
NoSQL Linux Shell
Linux MongoDB重启命令
【5月更文挑战第8天】