千家信息网

学习笔记之进程管理的相关重要命令

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,进程管理命令之ps,top,htop,dstatps:report a snapshot of the current processes.显示当前进程的状态语法:ps [options]选项有三种风
千家信息网最后更新 2025年01月22日学习笔记之进程管理的相关重要命令



进程管理命令之ps,top,htop,dstat


ps:report a snapshot of the current processes.

显示当前进程的状态

语法:ps [options]

选项有三种风格:

1、UNIX options, which may be grouped and must be

preceded by a dash.

2、BSD options, which may be grouped and must not

be used with a dash.

3、GNU long options, which are preceded by two

dashes.

ps选项option:

a:所有与终端相关的进程

x;所有与终端无关的进程

u:以用户为中心组织进程状态信息显示;

注:以上几个选项没有"-",加上"-"结果也不一样

常用组合之一:aux

ps aux中的字段意义:

USER:用户

PID;进程号

%CPU:累计cpu占用率

%MEM:占内存总量的百分数

VSZ:虚拟内存集

RRS:resident size常驻内存集(坚决不能放在交换分区上的)

STAT:进程状态

R:running运行态

S:interruptable sleeping可中断睡眠

D:不可中断睡眠

T:Stoped停止态

Z:僵死态

+:前台进程(运行在终端之上)

l:多线程进程

N:低优先级进程

<:高优先级进程

s:session leader会话主导者

[root@bucktan ~]# ps aux

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

root 1 0.0 0.1 19364 1536 ? Ss 16:28 0:01 /sb

root 2 0.0 0.0 0 0 ? S 16:28 0:00

root 3 0.0 0.0 0 0 ? S 16:28 0:00

root 4 0.0 0.0 0 0 ? S 16:28 0:00

root 5 0.0 0.0 0 0 ? S 16:28 0:00

root 6 0.0 0.0 0 0 ? S 16:28 0:00

root 7 0.0 0.0 0 0 ? S 16:28 0:00

###后面的省略


-e:显示所有进程

-f:显示完整格式的进程信息

-F:显示完整格式的进程信息

[root@bucktan ~]# ps -f

UID PID PPID C STIME TTY TIME CMD

root 2399 2395 0 16:55 pts/0 00:00:00 -bash

root 2489 2399 1 17:17 pts/0 00:00:00 ps -f

[root@bucktan ~]# ps -F

UID PID PPID C SZ RSS PSR STIME TTY TIME CMD

root 2399 2395 0 27118 1872 1 16:55 pts/0 00:00:00 -ba

root 2490 2399 2 27560 1136 1 17:17 pts/0 00:00:00 ps

[root@bucktan ~]# ps -e

PID TTY TIME CMD

1 ? 00:00:01 init

2 ? 00:00:00 kthreadd

3 ? 00:00:00 migration/0

4 ? 00:00:00 ksoftirqd/0

5 ? 00:00:00 stopper/0

6 ? 00:00:00 watchdog/0

7 ? 00:00:00 migration/1

8 ? 00:00:00 stopper/1

9 ? 00:00:00 ksoftirqd/1

10 ? 00:00:00 watchdog/1

###后面的省略

常用组合之二:-ef -eF

C:cpu占用百分比

PSR:进程运行在哪个cpu上

-H:以层级结构显示进程的相关信息

[root@bucktan ~]# ps -ef

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 16:28 ? 00:00:01 /sbin/init

root 2 0 0 16:28 ? 00:00:00 [kthreadd]

root 3 2 0 16:28 ? 00:00:00 [migration/0]

root 4 2 0 16:28 ? 00:00:00 [ksoftirqd/0]

###后面的省略

[root@bucktan ~]# ps -eF

UID PID PPID C SZ RSS PSR STIME TTY TIME CMD

root 1 0 0 4841 1536 1 16:28 ? 00:00:01 /sb

root 2 0 0 0 0 1 16:28 ? 00:00:00 0

root 3 2 0 0 0 0 16:28 ? 00:00:00 0

###后面的省略



常用组合之三: -eFH

[root@bucktan ~]# ps -eFH

UID PID PPID C SZ RSS PSR STIME TTY TIME CMD

root 2 0 0 0 0 1 16:28 ? 00:00:00 [kthreadd]

root 3 2 0 0 0 0 16:28 ? 00:00:00 [migration/0]

####中间省略了一些

root 2083 1 0 6197 1848 0 16:29 ? 00:00:00 /usr/sbin/bluetoothd --udev

root 2127 1 0 16556 1180 1 16:29 ? 00:00:00 /usr/sbin/sshd

root 2395 2127 0 24992 4040 0 16:55 ? 00:00:00 sshd: root@pts/0

####后面的省略


常用组合之四:

o field1,field2,。。:自定义要显示的字段列表,以逗号分隔;

常用的field:pid,ni(nice值),pri(优先级),psr,pcpu,stat,comm,tty,ppid,rtprio(实时优先级)

[root@bucktan ~]# ps o pid,ni,stat

PID NI STAT

2295 0 Ss+

2297 0 Ss+

2299 0 Ss+

2301 0 Ss+

2303 0 Ss+

ps命令就以上部分

=========================================================================================

下面看看top命令

top - display Linux processes显示linux进程

排序;

P:以占据cpu百分比排序

M;以占据内存百分比排序

T:累计占用cpu时间排序

首部信息:

uptime:l命令

tasks及cpu信息:t命令

内存信息:m命令

退出命令:q

修改刷新时间间隔:s

终止指定的进程:k

注:以上的都是进入top命令之后才能使用的命令,即子命令

[root@bucktan ~]# top

top - 17:37:14 up 1:08, 1 user, load average: 0.00, 0.00, 0.00

Tasks: 118 total, 1 running, 117 sleeping, 0 stopped, 0 zombie

Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%s

Mem: 1004768k total, 235096k used, 769672k free, 41308k buf

Swap: 2031612k total, 0k used, 2031612k free, 66600k cac


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

11 root 20 0 0 0 0 S 0.3 0.0 0:04.47 events/

2566 root 20 0 15032 1212 924 R 0.3 0.1 0:00.07 top

1 root 20 0 19364 1536 1228 S 0.0 0.2 0:01.90 init

2 root 20 0 0 0 0 S 0.0 0.0 0:00.05 kthread

###后面的省略

top选项:-d #:指定刷新时间间隔,默认为3秒;

-b:以批次方式显示

-n #:显示多少批次;


=========================================================================================

htop命令:interactive process viewer

选项:

-d #:指定延迟时间间隔

-u Username:仅显示指定用户的进程

-s COLUME:以指定字段进行排序

子命令:

l:显示选定的进程打开的文件列表

s:跟踪选定的进程的系统调用

t:以层级关系显示各进程状态

a:将选定的进程绑定至某指定的CPU核心


========================================================================================

dstat命令:versatile tool for generating system resource statistics非常精巧的生成系统资源使用统计数据的工具

dstat [-afv] [options..] [delay [count]]

常用选项:

-c,--cpu:显示cpu相关信息;

-C #,#,#...,tobal

-d,--disk:显示磁盘的相关信息

-D sda,sdb,...,tobal

-g:显示page相关的速率数据;

-m:Memory的相关统计数据

-n:interface的相关统计数据

-p:显示process的相关统计数据

-r:显示io请求的相关统计数据

-s:显示swapped的相关统计数据


--tcp

。。。

--top-cpu:显示最占用cpu的进程

--top-io:显示最占用io的进程

--top-mem:显示最占用内存的进程

--top-lantency:延迟最大的进程

实践操作:


0