您的位置:首页 > 运维架构 > Linux

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

2013-06-27 21:26 706 查看
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 -auxWarning: bad syntax, perhaps a bogus '-'? See/usr/share/doc/procps-3.2.7/FAQUSER PID %CPU%MEM VSZ RSS TTY STAT START TIME COMMANDroot 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 ~]#toptop - 14:53:30 up 44 days, 19:09, 2 users, load average: 0.02, 0.16, 0.17Tasks: 82 total, 1 running, 81 sleeping, 0 stopped, 0 zombieCpu(s): 0.1%us, 0.0%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 3985168ktotal, 3960592k used, 24576k free, 330408k buffersSwap: 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 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.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 httproot 3332 1 008:02 ? 00:00:00 /usr/sbin/httpdapache 3334 3332 008:02 ? 00:00:00 /usr/sbin/httpdapache 3335 3332 008:02 ? 00:00:00 /usr/sbin/httpd(2)记录进程号对其更改nice值:
[root@mode ~]# renice -1 33323332: old priority 0, new priority -1可以看到 old prioity是之前的nice值,为0 ,newpriority 为当前修改后的nice值 为-1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  进程 ps top renice nice值