作为一名合格的软件系统运维人员必须掌握的Linux操作系统的常用命令(七)

一、前言

        本篇博文接上一篇博文作为一名合格的软件系统运维人员必须掌握的Linux操作系统的常用命令(六)接着讲进程管理类有关的命令,具体如下:

二、Linux命令大全

2.11 进程管理类命令

2.11.1 ps命令

【基本语法】:

语法说明
ps aux查看系统中所有进程
ps -ef可以查看父子进程之间的关系

【选项说明】:

选项说明
a列出带有终端的所有用户的进程
x列出当前用户的所有进程,包括没有终端的进程
u面相用户友好的显示风格
-e列出所有进程
-u列出某个用户关联的所有进程
-f显示完整格式的进程列表

【功能描述】:查看当前系统进程状态
【示例】:
(1)ps aux:查看进程CPU、内存占用率
命令1

  • USER: 该进程是由哪个用户产生的
  • PID: 进程的 ID 号
  • %CPU: 该进程占用 CPU 资源的百分比, 占用越高, 进程越耗费资源
  • %MEM: 该进程占用物理内存的百分比, 占用越高, 进程越耗费资源
  • VSZ: 该进程占用虚拟内存的大小, 单位 KB
  • RSS: 该进程占用实际物理内存的大小, 单位 KB
  • TTY: 该进程是在哪个终端中运行的。 对于 CentOS 来说, tty1 是图形化终端,tty2-tty6 是本地的字符界面终端。 pts/0-255 代表虚拟终端。
  • STAT: 进程状态,常见的状态有:
    • R: 运行状态
    • S: 睡眠状态
    • T: 暂停状态
    • Z: 僵尸状态
    • s: 包含子进程
    • l: 多线程
    • +: 前台显示
  • START: 该进程的启动时间
  • TIME: 该进程占用 CPU 的运算时间, 注意不是系统时间
  • COMMAND: 产生此进程的命令名

(2)ps -ef:显示父子进程信息
        如果想查看进程的 CPU 占用率和内存占用率, 可以使用 ps aux
        如果想查看进程的父进程 ID 可以使用 ps ef
命令2

  • UID: 用户 ID
  • PID: 进程 ID
  • PPID: 父进程 ID
  • C: CPU 用于计算执行优先级的因子。 数值越大, 表明进程是 CPU 密集型运算,执行优先级会降低; 数值越小, 表明进程是 I/O 密集型运算, 执行优先级会提高
  • STIME: 进程启动的时间
  • TTY: 完整的终端名称
  • TIME: CPU 时间
  • CMD: 启动进程所用的命令和参数

(3) ps -Lf pid:查看某个进程的所有内核线程
命令3

  • UID: 用户 ID
  • PID: 进程 ID
  • PPID: 父进程 ID
  • C: CPU 用于计算执行优先级的因子。 数值越大, 表明进程是 CPU 密集型运算,执行优先级会降低; 数值越小, 表明进程是 I/O 密集型运算, 执行优先级会提高
  • STIME: 进程启动的时间
  • TTY: 完整的终端名称
  • TIME: CPU 时间
  • CMD: 启动进程所用的命令和参数

2.11.2 kill命令

【基本语法】:

语法说明
kill [选项] 进程号通过进程号杀死进程
killall 进程名称通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用

【选项说明】:

选项说明
-9表示强迫进程立即执行

【功能描述】:终止进程
【示例】:
(1)关闭火狐浏览器
命令4
(2)通过进程名称杀死进程
命令5

2.11.3 pstree命令

        pstree命令以树状图的方式展现进程之间的派生关系,显示效果比较直观。
【基本语法】:pstree [选项]
【选项说明】:

选项说明
-p显示进程的PID

【功能描述】:查看树进程
【示例】:
(1)显示进程pid
命令5
(2)查看一个特定的进程
        如果您希望pstree仅显示特定进程的父级和子级信息,请使用-s选项。
命令6
        如下,6826是一个java的进程,还可以看到这个进程下面的所有线程列表
命令7

2.11.4 top命令

【基本语法】:top [选项]
【选项说明】:

选项说明
-d 秒数指定top命令每隔几秒刷新一下结果,默认是3秒在top命令的交互模式当中可以执行命令
-i使top不显示任何闲置或者僵死进程
-p通过指定监控进程ID来监控某个进程的状态
-c显示整个命令行而不只是显示命令名

【功能描述】:实时监控系统状态
【操作说明】:
        在top命令结果中可以执行下面操作参与交互

操作功能
P以CPU使用率排序,默认就是此项
M以内存的使用率排序
N以PID排序
q退出top

【查询结果字段解释】:
命令8
(1)第1行信息为任务队列信息

内容说明
12:26:46系统当前时间
up 1 day, 13:32系统的运行时间,本金以运行1天13小时32分
2 users当前登录了2个用户
load average:0.00, 0.00, 0.00系统在之前 1 分钟, 5 分钟, 15 分钟的平均负 载。 一般认为小于 1时,负载较小。 如果大于 1, 系统已经超出负荷

(2)第2行为进程信息

内容说明
Tasks: 95 total系统中的进程总数
1 running正在运行的进程数
94 sleeping睡眠的进程数
0 stopped正在停止的进程数
0 zombie僵尸进程。 如果不是 0, 需要手工检查僵尸进程

(3)第3行为CPU信息

内容说明
us用户空间占用的 CPU 百分比
sy内核空间占用的 CPU 百分比
ni改变过优先级的用户进程占用的 CPU 百分比
id空闲 CPU 百分比
wa等待输入/输出的进程的占用 CPU 百分比
hi硬中断请求服务占用的 CPU 百分比
si软中断请求服务占用的 CPU 百分比
stst( Steal time) 虚拟时间百分比。 就是当有虚拟 机时, 虚拟 CPU 等待实际 CPU 的时间百分比。

(4)第4行为物理内存信息

内容说明
total物理内存的总量, 单位 KB
used已经使用的物理内存数量
free空闲的物理内存重量
buffers作为缓冲的内存数量

(5)第5行为交换分区信息

内容说明
Swap: 524280k total交换分区(虚拟内存) 的总大小
0k used已经使用的交换分区的大小
524280k free空闲交换分区的大小
409280k cached作为缓存的交互分区的大小

(6)进程信息区
        统计信息区域的下方显示了各个进程的详细信息,首先来认识一下各列的含义。

  • PID 进程id
  • PPID 父进程id
  • USER Real user name
  • UID 进程所有者的用户id
  • USER 进程所有者的用户名
  • GROUP 进程所有者的组名
  • TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
  • PR 优先级
  • NI nice值。负值表示高优先级,正值表示低优先级
  • P 最后使用的CPU,仅在多CPU环境下有意义
  • %CPU 上次更新到现在的CPU时间占用百分比
  • TIME 进程使用的CPU时间总计,单位秒
  • TIME+ 进程使用的CPU时间总计,单位1/100秒
  • %MEM 进程使用的物理内存百分比
  • VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • SWAP 进程使用的虚拟内存中,被换出的大小,单位kb
  • RES 进程使用的、未被换出的物理内存大小,单位kb,RES=CODE+DATA
  • CODE 可执行代码占用的物理内存大小,单位kb
  • DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
  • SHR 共享内存大小,单位kb
  • nFLT 页面错误次数
  • nDRT 最后一次写入到现在,被修改过的页面数。
  • S 进程状态。
    • D=不可中断的睡眠状态
    • R=运行
    • S=睡眠
    • T=跟踪/停止
    • Z=僵尸进程
  • COMMAND 命令名/命令行

【示例】:
(1)显示进程1的状态信息
命令9
(2)2500 毫秒刷新一次 TOP 内容,总共 5 次,输出内容存放到 performace.txt 文件中
命令10
(3)只显示活动中的进程
命令11

2.11.5 netstat命令

【基本语法】:

命令说明
netstat -anp | grep 进程号查看该进程网络信息
netstat –nlp | grep 端口号查看网络端口号占用情况

【选项说明】:

选项说明
-a显示所有正在监听(listen) 和未监听的套接字(socket)
-n拒绝显示别名, 能显示数字的全部转化成数字
-l仅列出在监听的服务状态
-p表示显示哪个进程在调用

【功能描述】:显示网络状态和端口占用信息
【连接状态详解】:

  • LISTEN: 侦听来自远方的TCP端口的连接请求
  • SYN-SENT: 再发送连接请求后等待匹配的连接请求
  • SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
  • ESTABLISHED: 代表一个打开的连接
  • FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认
  • FIN-WAIT-2: 从远程TCP等待连接中断请求
  • CLOSE-WAIT: 等待从本地用户发来的连接中断请求
  • CLOSING: 等待远程TCP对连接中断的确认
  • LAST-ACK: 等待原来的发向远程TCP的连接中断请求的确认
  • TIME-WAIT: 等待足够的时间以确保远程TCP接收到连接中断请求的确认
  • CLOSED: 没有任何连接状态

【示例】:
(1) 通过进程号查看sshd进程的网络信息
命令12
(2) 查看22端口号是否被占用
命令13

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

giser@2011

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值