进程相关命令的使用

ps, top, htop,  vmstat, dstat,pstree,pidof, pgrep

在htop默认没有添加字段的情况下。

ps top htop
常驻内存 rss,  rsz,  rssize
线性内存 vsz,  vsize VIRT VIRT
进程占用CPU %cpu %CPU CPU%
进程状态 state,  S S S
物理内存使用 %mem,RES MEM%,  RES
共享内享 SHR SHR
进程已使用CPU时长 time,  cputime TIME+ TIME+
进程优先级 PR PR
nice值 NI NI

ps

详细信息请看这里:http://www-01.ibm.com/support/knowledgecenter/ssw_aix_71/com.ibm.aix.cmds4/ps.htm?lang=zh

通过/proc/PID/(内核中进程状态信息)统计的各种信息;
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. 长格式--

启动进程的方式:
        系统启动过程中自动启动:与终端无关的进程;
        用户通过终端启动:与终端相关的进程;

第一种风格:
选项:
        a:所有与终端相关的进程;
        x:所有与终端无关的进程;
        u:以用户为中心组织进程状态信息显示;

常用组合之一:aux

[[email protected] yum.repos.d]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.6  58848  6800 ?        Ss   11:04   0:04 /usr/lib/systemd/systemd --switched-root 
root          2  0.0  0.0      0     0 ?        S    11:04   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    11:04   0:04 [ksoftirqd/0]
.....
root       1184  0.0  0.2  84584  2252 ?        Ss   11:05   0:00 login -- root
root       4066  0.0  0.3  82488  3588 ?        Ss   21:07   0:00 /usr/sbin/sshd -D

带中括号的都是内核级进程,不带的是用户空间程序。

PID: 进程ID。

%CPU: 所占CPU。

%MEM: 所占内存。

VSZ:Virtual Memory Size 虚拟内存集,又称线性内存空间,相当于是top中的VIRT。 单位kb。
RSS:Resident Size,常驻内存集;不能被交换到swap中的数据所占大小。

STAT:
       R:running,运行状态。
       S:interruptable sleeping,可中断睡眠,等待某些条件为真。

D:uninterruptable sleeping,不可中断睡眠

T:Stopped,暂停状态,用户可唤醒。如ctrl+z的进程。
       Z:zombie,程序执行完毕已终止,而父进程还没有来得及回收的这段时间。

+:前台进程
        l:多线程进程
        N:低优先级进程
        <:高优先级进程
         s:session leader 会话主进程

START: 进程启动时的时间

TIME:进程占用CPU的时间,也就是已运行时间。

第二种风格:

-e:显示所有进程
        -f:显示完整格式的进程信息     
常用组合之二:-ef

[[email protected] yum.repos.d]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 11:04 ?        00:00:04 /usr/lib/systemd/systemd --switched-root --system --deser
root          2      0  0 11:04 ?        00:00:00 [kthreadd]
root      11705   4234 98 22:05 pts/1    00:00:48 dd if=/dev/zero of=/dev/null

PPID: 父进程ID.

C: cpu utilization CPU使用率

STIME: 进程启动时的时间

TTY: 终端

TIME: 进程运行时长,占用CPU时长。

常用组合之三:-eFH

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

[[email protected] grub2]# ps -eFH | grep -E ‘(sshd|PPID)‘ 
UID         PID   PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root       1149      1  0 20622  3612   0 17:39 ?        00:00:00   /usr/sbin/sshd -D
root      13397   1149  0 33837  4936   1 20:11 ?        00:00:00     sshd: [email protected]/7
root      13398   1149  0 33837  4928   0 20:11 ?        00:00:02     sshd: [email protected]/5
root      13917  13410  0 28160   972   1 23:14 pts/5    00:00:00         grep --color=auto -E (sshd|PPID)
root      13399   1149  0 33803  4936   1 20:11 ?        00:00:00     sshd: [email protected]/4
root      13403   1149  0 33837  4932   1 20:11 ?        00:00:01     sshd: [email protected]/6

SZ: 进程的核心映像大小

RSS: 常驻内存。

PSR:运行于哪颗CPU之上

常用组合之四:-eo, axo

-o:自定义显示的字段,以逗号分隔

字段的名称可以在man ps的STANDARD FORMAT SPECIFIERS段中找到。

常用的field:pid, ni, priority, psr, pcpu, stat, comm, tty, ppid, rtprio

ni:nice值;
priority:priority,
优先级;
rtprio:real time priority,实时优先级;

pcpu表示%cpu。pmem表示%mem

[[email protected] grub2]# ps axo pid,ppid,%cpu,%mem,stat,priority,rtprio,ni,psr,command | grep -E "(sshd|PID.*PPID)" 
   PID   PPID %CPU %MEM STAT PRI RTPRIO  NI PSR COMMAND
  1149      1  0.0  0.3 Ss    20      -   0   0 /usr/sbin/sshd -D
 13397   1149  0.0  0.4 Ss    20      -   0   1 sshd: [email protected]/7
 13398   1149  0.0  0.4 Ss    20      -   0   1 sshd: [email protected]/5
 13399   1149  0.0  0.4 Ss    20      -   0   1 sshd: [email protected]/4
 13403   1149  0.0  0.4 Ss    20      -   0   1 sshd: [email protected]/6
 13921  13410  0.0  0.0 S+    20      -   0   1 grep --color=auto -E (sshd|PID.*PPID)

cpu百分比: %cpu,pcpu,C

内存百分比:%mem,pmem

nice值:ni,nice

常驻内存:rss,rsz,rssize

用户ID:uid,euid

用户:uname,user,euser.

虚拟内存/线性内存:vsz,vsize

进程占用CPU时间:time,cputime

进程状态:state,S

top
                - display Linux processes

第一行:当前时间,系统已运行时间, 登录用户, 最近1分钟,5分钟,15分钟的负载(等待CPU的进程队列)。

第二行:进程总数,正在运行的,睡眠的,暂停的,僵死的。

第三行:用户空间cpu占用,系统空间CPU占用,nice调整过的,空闲百分比,等待I/O的,硬中断,软中断,被偷有的(虚拟化占用的)

第四行:总内存,空闲的,使用的,buff/cache占用的。

第五行:总swap,空闲的swap,使用的swap。可分配物理内存

PR: 优先级

NI: NICE值

VIRT: 线性地址空间

RES:物理内存使用

SHR: 共享内存使用(共享库类占用)

S: 状态

排序:
P:以占据CPU百分比排序;
M:以占据内存百分比排序;
T:累积占用CPU时间排序;
                   
首部信息:
uptime信息:l命令

tasks及cpu信息:t命令
内存信息:m命令

退出命令:q
修改刷新时间间隔:s
终止指定的进程:k
               
选项:

-d #:指定刷新时间间隔,默认为3秒;
-b:以批次方式显示;
-n #:显示多少批次;

uptime

显示系统时间、运行时长及平均负载;过去1分钟、5分钟和15分钟的平均负载;等待运行的进程队列的长度;

htop

选项:
-d #:指定延迟时间间隔;
-u UserName:仅显示指定用户的进程;
-s
COLUME:以指定字段进行排序;
子命令:
l:显示选定的进程打开的文件列表;
s:跟踪选定的进程的系统调用;

t:以层级关系显示各进程状态;
a:将选定的进程绑定至某指定的CPU核心;

u 选择指定用户的进程
# 可以直接按数字来指定到进程。

进程部分默认不显示kernel进程,所以与top的不一样。其它字段意义一样。

F2可以调整各显示。F3搜索,F4过滤。

PRI: 优先级

VIRT: 占用的虚拟内存(线性内存)

RES: 物理内存占用

SHR: 共享内存占用

S: 状态

vmstat
       -s 内存统计信息

r 运行或等待CPU时间片的进程个数
b 被阻塞(通常为等待IO完成)的进程队列的长度

swpd  从物理内存交换至swap中的数据量,是已占用的空间。 而不是速率。
free  空闲的物理内存

buffer  buffer大小,通常与缓存写操作有关
cache   cache大小,
通常缓存的都是page页面文件 与缓存读操作有关。

si : swap in 数据进入swap中的数据量, 通常是速率,kb/s
so : swap out
数据离开swap的数据量。

bi : block in 从块设备读入内存的数据量,速率kb/s
bo : block out
保存至块设备的数据量, 速率kb/s

in : 中断, 每秒中断数
cs : context switch, 上下文切换,也就是进程切换,
每秒切换次数。

us: 用户空间占用

sy: 内核空间占用

id: 空闲

wa: 等待I/O的进程占用

st: 被偷有的(虚拟化占用)

dstat
- versatile tool for generating system resource statistics

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

常用选项:
-c, --cpu:显示cpu相关信息;
-C #,#,...,total,包含的CPU
-d,
--disk:显示磁盘的相关信息
-D sda,sdb,...,tobal 包含的磁盘
-g:显示page相关的速率数据;

-m:Memory的相关统计数据
-n:Interface的相关统计数据;
-p:显示process的相关统计数据;
-r:显示io请求的相关的统计数据;
-s:显示swapped的相关统计数据;

--tcp
--udp
--raw
--socket

--ipc

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

--top-mem:最占用内存的进程;
--top-lantency:延迟最大的进程;

pstree
            pstree  - display a tree of processes

[[email protected] test]# pstree
systemd─┬─NetworkManager─┬─2*[dhclient]
        │                └─3*[{NetworkManager}]
        ├─abrt-watch-log
        ├─abrtd
        ├─agetty
        ├─alsactl
        ├─atd
        ├─auditd─┬─audispd─┬─sedispatch
        │        │         └─{audispd}
        │        └─{auditd}
        ├─chronyd
        ├─dbus-daemon───{dbus-daemon}
        ├─irqbalance
        ├─lsmd
        ├─lvmetad
        ├─master─┬─bounce
        │        ├─pickup
        │        ├─qmgr
        │        └─smtp
        ├─polkitd───5*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─smartd
        ├─sshd─┬─sshd───bash───pstree
        │      ├─sshd───bash───man───less
        │      └─sshd───bash
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        └─tuned───4*[{tuned}]
[[email protected] test]#

pidof

pidof -- find the process ID of a running program.

[[email protected] test]# pidof crond sshd
1179 3211 3125 2937 1168
[[email protected] test]# pidof -s crond sshd
1179 3211
[[email protected] test]#

pgrep,pkill

look up or signal processes based on name and other attributes

可以通符查找进程。下边的less是因为在一个ssh终端中执行man。

[[email protected] test]# pgrep ssh* -a
1168 /usr/sbin/sshd -D
2937 sshd: [email protected]/1    
3125 sshd: [email protected]/0    
3211 sshd: [email protected]/2    
3810 less -s
[[email protected] test]#
[[email protected] test]# pkill sshd

pgrep [options] pattern
-u uid:effective user
-U uid:read user
-t  TERMINAL:与指定的终端相关的进程;
-l:显示进程名;
-a:显示完整格式的进程名;
-P pid:显示此进程的子进程;



我是来打酱油的,有问题还请指出。谢谢了。

时间: 2024-10-24 15:21:16

进程相关命令的使用的相关文章

第七单元进程相关命令及优先级的处理

1.进程定义进程就是cpu未完成的工作 2.ps命令ps                     a                     ##关于当前环境的所有进程                         x| -A               ##所有进程                     f                     ##显示进程从属关系                         e                    ##显示进程调用环境工具的详细信

进程相关命令

Linux系统常用系统进程管理工具: ps.top.htop.dstat.glance使用介绍 我们先来简单说一下什么是进程,进程简单来说就是运行起来的程序,一个程序也可能有多个进程或者只有一个,进程也有用户自己运行发起的也有系统自身的,了解系统进程状态能让我吗知道系统在"干什么"而且"干的怎么样". 在Linux中进程的属性有:PID:进程的ID号这个数值是唯一的,PPID:父进程和父进程的ID,UID:启动此进程的用户ID,GID:进程所属组.nice:进程执行

Py3.X全栈-Day05-文件压缩、VIM编辑器及进程相关命令

01 python全栈s3 day5  上节课复习 02 python全栈s3 day5  文件合并与文件归档 03 python全栈s3 day5  文件归档与两种压缩方式 04 python全栈s3 day5  vim编辑器 05 python全栈s3 day5  系统启动流程 06 python全栈s3 day5  grub加密 07 python全栈s3 day5  bios加密 08 python全栈s3 day5  top命令 09 python全栈s3 day5  free命令 1

Linux之进程管理(2)相关命令之一

Linux之进程管理(2)相关命令之一 procps工具命令对进程管理的使用:   ps   pgrep  pidof  pkill  pstree ps  命令 ps  (Process State)  :report a snapshot of the current processes. 查看当前进程的快照信息表 此命令支持3种风格: 1.SysV风格:选项前必须加-符号,如ps  -ef 2.BSD风格:选项前可以不加-符号,如ps  aux 3.GUN风格:之前两个-符号,类似长选项,

Linux基础--进程管理相关命令介绍(2)

本文主要介绍了Linux中进程管理的相关命令,涉及到的主要命令有top,vmstat等. (1)top ①功能:用来查看CPU,内存以及进程的状态. ②用例: ③相关注释: load average表示负载,三个数值分别表示第1分钟,第5分钟,第10分钟 Cpu中us表示用户空间程序占用百分比,sy表示内核模式占用百分比,ni表示调整NICE值所占用的    CPU百分比,id表示CPU的空闲比例,wa表示等待磁盘IO完成所占用的时间比例,hi表示硬件中断占     据的百分比,si表示软中断所

linux下查找进程及终止进程操作的相关命令

使用linux操作系统,难免遇到一些软件"卡壳"的问题,这时就需要使用linux下强大的kill命令来结束相关进程.这在linux系统下是极其容易的事情,你只需要kill xxx即可,这里xxx代表与此软件运行相关的进程PID号.首先,我们需要使用linux下另外一个命令ps查找与进程相关的PID号:ps aux | grep program_filter_word1)ps a 显示现行终端机下的所有程序,包括其他用户的程序.2)ps -A 显示所有程序.3)ps c 列出程序时,显示

Linux进程相关的内容及命令小结(一)

概念:进程,一个活动的程序实体的副本,拥有生命周期,一个进程可能包含一个或多个执行流: 进程的创建进程:  每个进程的组织结构是一致的:  内核在正常启动并且全面接管硬件资源之后,会创建一个Init的进程:而这个名叫init的进程负责用户空间的进程管理:  CentOS5及以前:SysV Init,Classic Init  在启动系统时,Init通过写脚本的方式来创建各个子进程:利用shell来实现,因此其执行速度非常慢:导致系统的启动速度和进程的创建速度都非常慢:  CentOS6:upst

Linux之进程管理(2)相关命令之三

Linux之进程管理(2)相关命令之三 (IPC)进程间通信及信号控制命令 kill  killall   kill 命令 kill - terminate a process,Inter Process Communication 进程通信工具,默认为发送终止信号 选项及用法: kill  -l  #显示所有信号CODE及名称 kill  [-SIGNAL]  pid...#指定发送信号给对应pid的进程,不指定信号代码默认为15信号 常见的信号:(注:可以使用man 7 signal打开帮助

Linux之进程管理(2)相关命令之四

Linux之进程管理(2)相关命令之四 设置或调整进程优先级命令: nice  rnice nice 命令 nice - run a program with modified scheduling priority 运行一个程序时修改调度其进程优先级 格式及用法: nice  [options]  [command [args]] -n  # :#表示要设置此程序nice值,-20到19,值越下,优先级越高 注:-20到19的每个nice值分别对应(Centos5中为100-139,CentO