linux系统进程管理工具,Linux系统进程管理工具
对于Linxu系统运维工程师来说好的系统进程管理工具,就像一把利器,无坚不摧,可以使用这些工具发现造成性能问题可能原因,提升团队的工作效率,本篇知识提及一些简单常用系统管理工具包括了pstree、ps、pgrep、top、htop、pidof、vmstat、glances、dstat的简单实用例子及常用选项,希望能帮助一些热爱Linux的朋友们。
pstree:用来显示进程数的
pstree命令的用法格式[root@Corazon ~]# pstree
init─┬─NetworkManager
├─abrtd
├─acpid
├─atd
├─auditd───{auditd}
├─automount───4*[{automount}]
├─console-kit-dae───63*[{console-kit-da}]
├─crond
├─cupsd
├─dbus-daemon
├─dhclient
├─hald─┬─hald-runner─┬─hald-addon-acpi
│ │ └─hald-addon-inpu
│ └─{hald}
├─irqbalance
├─login───bash
├─master─┬─pickup
│ └─qmgr
├─5*[mingetty]
├─modem-manager
├─polkitd
├─rpc.statd
├─rpcbind
├─rsyslogd───3*[{rsyslogd}]
├─sshd───sshd───bash───pstree
├─udevd───2*[udevd]
└─wpa_supplicant
ps [OPTION]...
选项支持组合:aux
u:以用户给为中心组织进程状态信息显示
a:与终端相关的进程
x:与终端无关的进程[root@Corazon ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19356 1528 ? Ss 11:50 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 11:50 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 11:50 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 11:50 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S 11:50 0:00 [stopper/0]
root 6 0.0 0.0 0 0 ? S 11:50 0:00 [watchdog/0]
root 7 0.0 0.0 0 0 ? S 11:50 0:00 [migration/1]
root 8 0.0 0.0 0 0 ? S 11:50 0:00 [stopper/1]
# USER:发起进程的用户
# PID:进程的PID号
# %CPU:占用的CPU使用百分比
# %MEM:占用的内存使用百分比
# VSZ:虚拟内存集
# RSS:常驻内存集
# TTY:跟哪个终端相关
# STAT:进程状态
R:运行中
S:interruptable sleeping 可中断睡眠
D:uninterruptable sleeping 不可中断睡眠
T:停止态
Z:僵死态
s:会话首进程
N:低优先级
<:>
l:多线程进程
+:前台进程
# START启动时间
# TIME:累计使用CPU时长
# COMMADN:发起的命令
-ef组合:
-e:显示所有进程
-f:显示完整的进程信息[root@Corazon ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 11:50 ? 00:00:01 /sbin/init
root 2 0 0 11:50 ? 00:00:00 [kthreadd]
root 3 2 0 11:50 ? 00:00:00 [migration/0]
root 4 2 0 11:50 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 11:50 ? 00:00:00 [stopper/0]
root 6 2 0 11:50 ? 00:00:00 [watchdog/0]
# UID:发起进程的用户
# PID 进程的PID号
# PPID 父进程的PID号
# C:运行在哪科CPU上
# STIME:启动时间
# TIME:累计使用CPU时长
# CMD发起了哪些命令
常用组合:-eFH
-F: 显示完整格式的进程信息
-H: 以进程层级格式显示进程相关信息[root@Corazon ~]# ps -eFH
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 2 0 0 0 0 0 11:50 ? 00:00:00 [kthreadd]
root 3 2 0 0 0 0 11:50 ? 00:00:00 [migration/0]
root 4 2 0 0 0 0 11:50 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 0 0 0 11:50 ? 00:00:00 [stopper/0]
root 6 2 0 0 0 0 11:50 ? 00:00:00 [watchdog/0]
SZ:虚拟内存集
RSS:常驻内存集
PSR:优先级
常用组合:-eo, axo
-eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm
axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
可以让用户指定显示具体信息
[root@Corazon ~]# ps axo pid,time,command | head
PID TIME COMMAND
1 00:00:01 /sbin/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]
pgrep, pkill :通过过滤显示和杀死进程的
pgrep [options] pattern
pkill [options] pattern
-u uid: effective user 有效用户ID
-U uid: real user 实际用户ID
-t terminal: 与指定终端相关的进程
-l: 显示进程名
-a: 显示完整格式的进程名
-P pid: 显示其父进程为此处指定的进程的进程列表
[root@Corazon ~]# pgrep -u root -l | tail
944 NetworkManager
1423 dhclient
1427 sshd
2552 master
2626 bash
2654 sshd
2658 bash
2773 kworker/0:0
2795 kworker/0:1
pidof:根据进程名获取其进程PID号
pidof PROCESSNAME
[root@Corazon ~]# pidof sshd
2654 1427
[root@Corazon ~]# pidof bash
2658 2626
top命令:性能分析工具,能够实时显示系统中各个进程的资源占用状况,
常用选项:
-d:指定刷新时间间隔,默认3秒刷新一次进程列表
-b:一批次进行显示
-n #:执行显示#次
这五行显示的是系统整体的统计信息top - 00:24:14 up 3:16, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 339 total, 2 running, 337 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1003164 total, 693700 free, 136556 used, 172908 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 702336 avail Mem
top - 00:24:14 up 3:16, 2 users, load average: 0.00, 0.01, 0.05
# top - 00:24:14 当前时间
# up 3:16 启动系统后运行的时间
# 2 users 当前登录的用户
# load average: 0.00, 0.01, 0.05 平局负载队列,分别是1分钟,5分钟,15分钟
Tasks: 339 total, 2 running, 337 sleeping, 0 stopped, 0 zombie
# Tasks: 339 total 当前系统上的任务数量
# 2 running:当前在运行状态数量
# 337 sleeping:当前在睡眠状态数量
# 0 stopped:停止状态数量
# 0 zombie:僵死状态数量%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
# %Cpu(s): 0.3 us 用户空间占用CPU的百分比
# 0.3 sy:内核空间占用CPU的百分比
# 0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
# 99.3 id:CPU空闲百分比
# 0.0 wa:等待输入输出的CPU时间百分比
# 0.0hi:硬件中断的时间占用的CPU百分比
# 0.0si:用来模式切换占用的CPU百分比
# 0.0st:被虚拟化偷走的CPU百分比
KiB Mem : 1003164 total, 693700 free, 136556 used, 172908 buff/cache
# KiB Mem : 1003164 total 内存的总大小
# 693700 free: 空间内存的大小
# 136556 used:已经使用的内存大小
# 172908 buff/cache:用于缓冲和缓存的内存大小
KiB Swap: 2097148 total, 2097148 free, 0 used. 702336 avail Mem
# KiB Swap: 2097148 total 交换分区的总大小
# 2097148 free:空间的交换分区大小
# 702336 avail:可用的交换分区大小
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2654 root 20 0 133128 4864 3684 S 0.3 0.5 0:00.47 sshd
# PID:进程PID号码
# USER:进程所有者
# PR:进程优先级
# NI:进程Nice值
# VIRT:虚拟内存集
# RES:常驻内存集
# SHR:共享内存空间的大小
# S:进程状态
# %CPU:占用CPU百分比
# %MEM:占用内存百分比
# TIME+:累计运行时长
# COMMADN:进程拥有者发起的命令
top里可以设置按照某一项来排序,默认的情况下,是按照CPU的使用情况来排序,也可以设定刷新时间及终止指定进程
M:按内存使用情况排序
P: 根据CPU使用百分比大小进行排序
T: 根据时间/累计时间进行排序
s: 调整刷新时间,默认是5秒
q:退出top命令
k:终止指定进程
htop:互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。
与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
与top相比,htop有以下优点:
·可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。
·在启动上,比top更快。
·杀进程时不需要输入进程号。
·htop 支持鼠标操作。
·top 已经很老了
上面左上角显示CPU、内存、交换区的使用情况,右边显示任务、负载、开机时间,下面就是进程实时状况。
下面是 F1~F10 的功能和对应的字母快捷键
获取帮助
鼠标点击Help或者按F1 显示自带帮助
htop设定
鼠标点击一下Setup或按下键盘键F2
从左侧开始第一列的Setup:
表示Left Column和Right Column显示的信息和次数,如果要新增选项 可以选择Available meters进行添加 F5是添加左侧,F6是添加右侧,也可以设定显示信息的输出方式 有LED(LED灯),Bar(进度条)、Text(文本格式)
从左侧开始第一列的Display options:
选择要显示的内存,按空格x表示为显示,选择完后之后,需要按F10进行保存
为了演示我们增加了以树状格式显示进程 Tree view 这个选项
从左侧开始第一列的Colors:
用来设定界面的显示颜色
从左侧开始第一列的Colums:
作用是增加或取消要显示各项内存
搜索进程
鼠标点击一下Search或按下键盘键F3
搜索tail进程
过滤器
鼠标点击一下Filter或按下键盘键F4
相当于模糊查找,不会区分大小写,例如:
树状方式
鼠标点击一下Tree或按下键盘键F5
开启/关闭树状显示进程
排序方式:
鼠标点击一下Exapand或按下键盘键F6
按下后左侧会出现 Sort by 列表进行选择排序规则
调整nice值
选定某个进程之后直接可以使用,F7 减小nice值(增大优先级)F8增大nice值(减小优先级)
杀死进程
选择某个进程之后直接可以使用F9即可杀死
退出htop
鼠标点击一下Quit或按下键盘键F10
选项:
-d #: 指定延迟时间;
-u UserName: 仅显示指定用户的进程;
-s COLOMN: 以指定字段进行排序;
命令:
s: 跟踪选定进程的系统调用;
l: 显示选定进程打开的文件列表;
a:将选定的进程绑定至某指定CPU核心
选定sshd这个进程按下s键会显示出进程的系统调用
vmstat:报告内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。
[root@Corazon ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 685360 764 176748 0 0 7 1 32 41 0 1 99 0 0
proc:
r: 等待运行的进程个数
b: 处于不可中断睡眠态的个数(被阻塞的队列的长度)
memory:
swpd: 交换内存的使用总量
free: 空间物理内存总量
buffer: 用于buffer的内存总量
cache: 用于cache的内存总量
swap:
si: 数据进入wap中的数据速率(kb/s)
si: 数据离开wap中的数据速率(kb/s)
io:
bi: 从块设备读入数据到系统的速率(kb/s)
bo:保存数据至块设备的速率(kb/s)
system:
in: interrupts,中断速率(kb/s)
cs: context switch 进程切换速率(kb/s)
glances:系统监视和分析性能数据的功能,其中包括:
·CPU 使用率
·内存使用情况
·内核统计信息和运行队列信息
·磁盘 I/O 速度、传输和读/写比率
·文件系统中的可用空间
·磁盘适配器
·网络 I/O 速度、传输和读/写比率
·页面空间和页面速度
·消耗资源最多的进程
·计算机信息和系统资源
常用选项:
-b:以Byte为单位显示网卡数据速率,默认也是以字节显示
-d:关闭磁盘I/O模块
-f /path/to/somefile: 设定输入文件位置
-o {HTML|CSV}:输出的格式
-m: 禁用mount模块,
-n: 禁用网络模块 n
-t # : 延迟时间间隔
1: 每个CPU的相关数据单独显示
内键命令快捷键:
a – 对进程自动排序
c – 按 CPU 百分比对进程排序
m – 按内存百分比对进程排序
p – 按进程名字母顺序对进程排序
i – 按读写频率(I/O)对进程排序
d – 显示/隐藏磁盘 I/O 统计信息
f – 显示/隐藏文件系统统计信息
n – 显示/隐藏网络接口统计信息
s – 显示/隐藏传感器统计信息
y – 显示/隐藏硬盘温度统计信息
l – 显示/隐藏日志(log)
b – 切换网络 I/O 单位(Bytes/bits)
w – 删除警告日志
x – 删除警告和严重日志
1 – 切换全局 CPU 使用情况和每个 CPU 的使用情况
h – 显示/隐藏这个帮助画面
t – 以组合形式浏览网络 I/O
u – 以累计形式浏览网络 I/O
q – 退出(‘ESC‘ 和 ‘Ctrl&C‘ 也可以)
C/S模式下运行glances命令:
服务模式:
Glances -s -B IPADDR
IPADDR:监听于服务器端的本机哪个地址
客户端模式:
Glances -c IPADDR
IPADDR:要连接哪个服务器端的地址
例如:首先在192.168.99.102上服务商监听本机的这个地址,然后在通过192.168.99.104进行远程测试就看到如下:
dstat:dstat是一个用来替换 vmstat, iostat, netstat, nfsstat 和 ifstat 这些命令的工具,是一个全能系统信息统计工具。
格式:dstat [-afv] [options..] [delay [count]]
常用选项:
-c: 显示CPU相关信息,默认已经开启
-C #,# total显示从哪个CPU到哪个CPU
-g: 显示page相关统计数据
-d:显示磁盘读写速率,默认已经开启
-D total,sda,sdb...
-m:显示memory相关统计数据
-n:显示network相关的统计数据
-p:显示process相关统计数据
-r: 显示I/O请求相关的统计数据
-s: 显示交互内存的相关统计数据
--tcp:显示tcp协议
--udp:显示udp协议
--socket:显示socket相关数据
-ipc:进程间通信相关统计数据
--top-cpu:显示最占用cpu的进程
--top-io:显示最占用io的进程
--top-mem:显示最占用内存的进程
--top-latency:显示延迟最大的进程
total-cpu-usage:CPU使用状态
usr:用户空间使用状态
sys:内核空间使用状态
idl:空闲空间状态
wai:等待I/O操作状态
hiq:硬中断状态
siq:软中断状态
dsk/total:磁盘状态
read:读速率
writ:写速率
net/total:网络状态
recv:收速率
send:发速率
paging:页面状态
in:页面换进速率
out:页面换出速率
system:系统状态
int:中断速率
只显示磁盘sda和CPU0,1的相关信息
Dstat的选项的整体演示测试结果
完。
今天Linux系统管理管理分享完毕,感谢大家,谢谢!
linux系统进程管理工具,Linux系统进程管理工具相关推荐
- linux进程管理内存管理,Linux专业知识四:Linux系统进程管理及查看内存
本文主讲Linux专业知识之Linux系统进程管理及查看内存的情况,以Redhat RHEL7操作系统为例. 一.进程 程序与进程:程序是静态的(文件),进程是动态的(运行的程序). 进程和线程:一个 ...
- linux基于文本的配置工具,Linux基本配置和管理 3 ---- Linux命令行文本处理工具
1 文件浏览(简单回顾) 1 cat 查看文件的内容 2 more 以翻页的形式查看,但是只能向下翻页 3 less 以翻页的形式查看,但是能够支持向上和向下翻页 4 head 默认是查看前10行,但 ...
- 用户管理 之 Linux 用户管理工具介绍
作者:北南南北 赞助: 来自:LinuxSir.Org 摘要: 本文主要介绍Linux系统的用户和用户组的查询.添加.修改及删除等管理工具: 目录索引 一.与用户管理相关的配置文件: 1./etc/p ...
- linux如deepin manjaro对笔记本电脑电池的伤害解决方案:TLP:一个可以延长 Linux 笔记本电池寿命的高级电源管理工具
TLP:一个可以延长 Linux 笔记本电池寿命的高级电源管理工具 笔记本电池是针对 Windows 操作系统进行了高度优化的,当我在笔记本电脑中使用 Windows 操作系统时,我已经意识到这一点, ...
- TLP:一个可以延长 Linux 笔记本电池寿命的高级电源管理工具
笔记本电池是针对 Windows 操作系统进行了高度优化的,当我在笔记本电脑中使用 Windows 操作系统时,我已经意识到这一点,但对于 Linux 来说却不一样. 多年来,Linux 在电池优化方 ...
- Linux下KVM的图形界面管理工具(virt-manager)(桌面版)
背景: virt-manager是用于管理KVM虚拟环境的主要工具,virt-manager默认设置下需要使用root用户才能够使用该工具.当你想在KVM hypervisor服务器上托管虚拟机,由最 ...
- git管理工具 linux,linux系统下使用流行的版本管理工具 Git
前几天被版本管理困扰了好久,主要是因为 没法回到之前的版本,新版本又出了问题真的很尴尬. 终于决定使用目前网上很火的版本管理工具-------Git 历史啥的就不说了,说些有用的. 我用的是oschi ...
- 监控 Linux 性能的 18 个命令行工具
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我们 ...
- [转载]监控 Linux 性能的 18 个命令行工具
转自:http://www.kuqin.com/shuoit/20140219/338066.html 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一 ...
- linux性能监控工具perf,Linux性能分析中常用的工具perf介绍
今天小编要跟大家分享的文章是关于Linux性能分析中常用的工具perf介绍.系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化.性能剖析的目标是寻找性能瓶 ...
最新文章
- 提高github下载速度
- 警惕技术人员的极端性
- JavaScript实现heapsort堆排序算法(附完整源码)
- c++中lambda表达式用法
- Mysql剖析单条查询三种方法
- C#刷遍Leetcode面试题系列连载(1) - 入门与工具简介
- 三大场景,对象存储OSS带你快速上云
- html设计网页板块,网页设计
- 微信小程序个人笔记!
- 用javascript源码打印页面
- 如何设置Ubuntu键盘输入法框架为fcitx
- 类似华为麒麟鸿蒙类的名字,华为除了“麒麟”,还有四款顶级芯片,名字背后隐藏寓意令人感动...
- R实现一次性合并多个数据框
- jdk的exe安装版和zip压缩版有什么区别
- abi:用json解析和对比linux平台下elf文件
- pymysql dataframe,DataFrame constructor not properly called
- 8086标志寄存器(Flag Register)
- 关于flask入门教程-自定义弹出框
- 避免毛孩过胖引发健康问题 机器人帮你逗毛孩让他动起来!
- 什么是cpu/cache stall
热门文章
- 华为云桌面为建筑行业BIM落地实施提供有力支撑
- SQL数据库 【嵌套查询】
- python如何提取字符串中的数字
- 理解Linux文件系统之 inode
- 如何将网站部署到阿里云服务器 2020最新
- Java实现 蓝桥杯 历届试题 核桃的数量
- 一米智能伴读机器人app下载_呀呀伴读app下载-呀呀伴读 安卓版v1.3.3-PC6安卓网
- [绍棠] CGPathAddArc和CGPathAddArcToPoint函数
- 蓝牙架构(3)—— 1 蓝牙概述 (1.3 AMP概述 1.4 术语命名 1.5 总结)
- 使用Rufus软件在win7系统下做centos7启动盘