浅谈Linux进程管理
一 查看系统进程
在linux中,查看系统进程的命令为ps,常用格式为如下两个:
(1)ps aux:unix格式查看系统进程
(2)ps -le:linux格式查看系统进程
一般地,ps aux更常用,下面主要讲解ps aux命令
(一)查看系统所有进程
ps aux,使用BSD(UNIX)系统格式查看系统所有进程
(二)参数注解
USER --进程使用用户
PID --进程ID
%CPU -- 进程占用的CPU
%MEM --进程占用内存
VSZ --进程占用虚拟内存,单位为KB
RSS --进程占用物理内存,单位为KB
TTY --该进程所运行终端
(1)tty1-tty7:本地控制台终端(tty1-tty6:本地字符界面终端;tty7:图形终端)
(2)pts/0-255:虚拟终端,即远程终端
(3)?:由linux内核直接调用,不由终端调用
STAT -- 进程状态
(1)R--运行状态
(2)S--休眠
(3)T--停止
(4)s--包含子进程
(5)+ --后台进程
START --进程启动时间
TIME --占用CPU运算时间
COMMAND -- 产生进程的命令
二 查看系统运行状态
在linux中,用top命令来查看系统运行性能及状态。
参数解释:
(一)第一行:top
该行表示系统性能相关
需要注意的是,系统负载参数中,对于单核CPU,当负载>时,表示系统压力比较大,如果是n核CPU,当负载>n时,表示
系统压力比较大。
(二)第二行:Tasks
该行表示线程相关
参数解释:
tatal:线程总数
running:正在运行的线程
sleeping:正在休眠进程
stopped:已经停止进程
zombie:僵死进程(正在终止,但未终止的进程
(三)第三行:%CPU
该行表示CPU相关
参数解释:
us:用户模式占用cpu百分比
sy:系统模式占用cpu百分比
ni:改变过优先级的用户进程占用的cpu百分比
id:空闲cpu百分比
wa:等待输入输出进程占用cpu百分比
hi:硬终端请求服务占用cpu百分比
si:软中断请求服务占用cpu百分比
st:虚拟时间百分比,即若存在虚拟机,虚拟cpu等待cpu响应时间百分比
(四)第四行:%KiB Mem
该行表示系统内存情况
参数解析:
total:当前系统总内存
free:空闲内存
used:已用内存
buff/cache:缓存缓存内存
需要注意的是,当内存不够时,根据linux管理内存机制,会将buff/cache内存作为内存来使用。
(五)第五行:KiB Swap
该行表示系统交换分区
参数解析:
total:总分区大小
free:空闲分区大小
used:已使用分区大小
(六)第六行:系统进程状态行
该行表示当前系统进程运行状态,默认是按照cpu占用比例从大到小排列的,常见快捷操作:
M- 内存排序
P-CPU排序
N-PID排序
参数解析:
PID:进程ID,在系统中,唯一标识进程
USER:进程所有者
PR:优先级
NI:负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR:共享内存大小,单位kb
S:进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
%CPU:进程占用cpu百分比
%MEM:进程占用内存百分比
TIME+:进程使用的CPU时间总计
COMMAND:进程命令
(七)top命令常用快捷键
1.ctr+z 停止
2.ctr+c 强制退出
3.q 退出
4.m 按内存排序查找
5.p 按PID排序
三 进程常用操作
(一)查看进程树
linux中查看进程树命令是pstree,要使用它,首先在linux上安装
yum install psmisc -y
1.查看默认进程树
pstree
2.带有PID的进程树
pstree -p
3.通过进程名查找
pstree -p | grep java
4.通过进程PID查找
pstree -ps 被查看进程PID
(二)终止进程
kill命令用来终止进程
1.查看进程信号
kill -l
列举几个常用信号:
2.强制杀死进程
kill -9 PID
(三)查看进程工作状态
在Linux中,从交互角度,我们习惯将进程分为前台进程和后台进程,所谓前台进程,即与用户交互的
进程,如top,vim命令,后台进程,即不需要与用户交互的进程。
1.查看后台工作进程
linux中,jobs -l 查看后台工作的进程
参数解释:
第一列:数字表示该进程倒数第几放入工作进程
第二列:只有倒数第一(+),倒数第二(-)放入的进程才有符号
第三列:进程PID
第四列:进程状态
第五列:进程信号标识
第六列:进程名
2.将后台进程恢复到前台
fg %工作号
需要注意的是,%可省略
3.将后台进程恢复后台
bg %工作号
需要注意的是,%可省略
四 系统资源查看
1.系统资源监控
vmstat [刷新延时(秒为单位) 刷新次数]
2.开机内核检测
dmesg用来检测开机时,linux内核情况,如检测 dmesg |grep cpu
3.查看内存使用
free 用来查看内存使用
4.查看cpu信息
cat /proc/cpuinfo
5.uptime查看系统启动时间和平均负载
6.查看系统与内核信息
uname 命令查看系统与内核信息
参数解释:
-a :查看系统相关信息
-s:查看内核名称
-r:查看内核版本
7.查看进程使用文件
lsof命令查看进程使用文件
参数:
-p :查看某个PID进程使用的文件
-u:查看某个用户使用的文件
-c:列出以字符串开头的进程打开的文件
版权区
- 转载博客,必须注明博客出处
- 博客园:http://www.cnblogs.com/wangjiming/ (侧重.NET)
- CSDN:https://blog.csdn.net/u010228798 (侧重JAVA)
- 如您有新想法,欢迎提出,邮箱:2098469527@qq.com
- 专业.NET之家技术QQ群:490539956
- 专业化Java之家QQ群:924412846
- 有问必答QQ群:2098469527
- 一对一技术辅导QQ:2098469527
浅谈Linux进程管理的更多相关文章
- 浅谈Linux内存管理机制
经常遇到一些刚接触Linux的新手会问内存占用怎么那么多?在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然.这是Linux内存管理的一个优秀特性,在这 ...
- 【转载】浅谈Linux内存管理机制
经常遇到一些刚接触Linux的新手会问内存占用怎么那么多? 在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然.这是Linux内存管理的一个优秀特性,在 ...
- 浅谈Linux下/etc/passwd文件
浅谈Linux 下/etc/passwd文件 看过了很多渗透测试的文章,发现在很多文章中都会有/etc/passwd这个文件,那么,这个文件中到底有些什么内容呢?下面我们来详细的介绍一下. 在Linu ...
- 浅谈Linux中的信号处理机制(二)
首先谢谢 @小尧弟 这位朋友对我昨天夜里写的一篇<浅谈Linux中的信号处理机制(一)>的指正,之前的题目我用的“浅析”一词,给人一种要剖析内核的感觉.本人自知功力不够,尚且不能对着Lin ...
- 浅谈 Linux 内核无线子系统
浅谈 Linux 内核无线子系统 本文目录 1. 全局概览 2. 模块间接口 3. 数据路径与管理路径 4. 数据包是如何被发送? 5. 谈谈管理路径 6. 数据包又是如何被接收? 7. 总结一下 L ...
- []转帖] 浅谈Linux下的五种I/O模型
浅谈Linux下的五种I/O模型 https://www.cnblogs.com/chy2055/p/5220793.html 一.关于I/O模型的引出 我们都知道,为了OS的安全性等的考虑,进程是 ...
- Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理
Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理 转自:https://www.jianshu.com/p/2b71ea919d49 本系列文章首发于我的个人博 ...
- (转)浅谈 Linux 内核无线子系统
前言 Linux 内核是如何实现无线网络接口呢?数据包是通过怎样的方式被发送和接收呢? 刚开始工作接触 Linux 无线网络时,我曾迷失在浩瀚的基础代码中,寻找具有介绍性的材料来回答如上面提到的那些高 ...
- Linux进程管理子系统分析【转】
本文转载自:http://blog.csdn.net/coding__madman/article/details/51298732 Linux进程管理: 进程与程序: 程序:存放在磁盘上的一系列代码 ...
随机推荐
- Spark应用场景以及与hadoop的比较
一.大数据的四大特征: a.海量的数据规模(volume) b.快速的数据流转和动态的数据体系(velocity) c.多样的数据类型(variety) d.巨大的数据价值(value) 二.Spar ...
- JDBC之PreparedStatement
JDBC之PreparedStatement 一.java.sql.PreparedStatement接口简介 该接口表示预编译的 SQL 语句的对象. SQL 语句被预编译并存储在 Prepared ...
- MSIL实用指南-生成foreach语句
foreach可以迭代数组或者一个集合对象.foreach语句格式是它的生成步骤是foreach (<成员> in <集合>) <循环体> 一.声明三个变量,loc ...
- MSIL实用指南-返回结果
一个方法体执行完指令后,必须要完成调用并返回,这是要使用Ret指令.Ret指令的详细解释是从当前方法返回,并将返回值(如果存在)从被调用方的计算堆栈推送到调用方的计算堆栈上.就是说如果计算堆栈上没有变 ...
- Socket I/O模型之select模型
socket网络编程中有多种常见的I/O模型: 1.blocking阻塞 2.nonblocking非阻塞 3.I/O multiplexing复用 4.signal driven 5.asynchr ...
- 【Leetcode】【简单】【189. 旋转数组】【JavaScript】
189. 旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释 ...
- GitExtensions使用教程
GitExtensions工具使用教程 第一步:安装 1.双击:GitExtensions24703SetupComplete.msi <ignore_js_op> image001.pn ...
- HDU-6333 Problem B. Harvest of Apples 莫队
HDU-6333 题意: 有n个不同的苹果,你最多可以拿m个,问有多少种取法,多组数据,组数和n,m都是1e5,所以打表也打不了. 思路: 这道题要用到组合数的性质,记S(n,m)为从n中最多取m个的 ...
- Codeforces 832 D Misha, Grisha and Underground
Misha, Grisha and Underground 题意:Misha 和 Grisha 是2个很喜欢恶作剧的孩子, 每天早上 Misha 会从地铁站 s 通过最短的路到达地铁站 f, 并且在每 ...
- python 中的while循环、格式化、编码初始
while循环 循环:不断重复着某件事就是循环 while 关键字 死循环:while True: 循环体 while True: # 死循环# print("坚强")# pr ...