centos中进程管理工具
进程管理:
二进制的格式为ELF,是CPU指令集中的指令
程序=指令+数据,
进程是程序的副本,可以有多个
内核是一个资源调度监视器
Linux是抢占式多任务
内存被事先划分成多个相同大小的页框
LIU:最近最少使用
mmap 共享内存
通过fork()进程生成
内存泄漏
init是所有进程的父进程
task_struct任务结构:是一种数据结构
双向循环链表
线程是一个进程内的多个执行流
WLP:轻量级进程
模式转换:
时钟驱动:
进程优先级:
是进程调度的核心资源
公平:
结果公平:
起点公平:
算法:完成工作的调度方式
BIG O
O(1)
O(logn)
O(n)
O(N^2)
O(2^N)
一共140个队列
0-99 为实时优先级
进程的分类:
CPU-Bound:CPU密集型
I/O-Bound:I/O密集型
进程的分类:
批处理进程
交互式进程
实时进程
进程调度器:
进程优先级:0-139
实时优先级: 1-99,数字越大,优先级越高
静态优先级:100-139,nice值调整,数字越大,优先级越低
nice:-20,19
priority:100,139
动态优先级:由内核维护,动态调整
进程状态:
运行态:running R
就绪态:
睡眠态:sleeping
可中断睡眠 inruptable
不可中断睡眠 uninruptable
停止态:不会被调度 stopped
僵死态:zombie
进程管理命令:
ps pstree pidof top htop pmap vmstat dstat
ps:显示进程状态的命令
进程:
与终端相关的进程:a
与终端无关的进程:x
D:不可中断的睡眠
R:运行或就绪
S:可中断的睡眠
T:停止
Z:僵死
s:session leader 有子进程
+:前台进程
l:多线程进程
N:低优先级进程
<: 高优先级进程
u:以用户为中心显示进程相关信息
VSZ:虚拟内存集,Virutal menmory Size
RSS:常驻内存集,
STIME:启动时间
TIME:累计占用的内存时间 []表示内核线程
常用组合一:ps aux
其他常用选项:
-e:显示所有进程
-f:以进程的长格式显示
常用组合之二:ps -ef
常用组合之三:ps -eFH
-F:显示额外信息
-H:显示进程的层次信息
pstree:显示进程树
自定义要显示的信息:-o
ps auo pid command
rtprio:实时优先级
ni:nice值
pri:优先级
psr:运行的cpu
pgroup:
-U Username:仅显示指定用户的进程的进程的PID
-G Groupname:仅显示指定用户组的进程的进程的PID
pidof:显示指定命令所启动的pid
pidof command
top:
M:按内存占用百分比大小排序
P:按cpu占用百分比大小排序,默认
T:按累计占有时长进行排序
1:分开显示
l: 是否显示负载信息
t:是否显示cpu和进程的统计信息
m:是否显示内存和交互分区的信息
q:退出
k:kill,杀掉进程
s:改变top刷新频率
top - 11:49:38 up 3:18, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 120 total, 1 running, 119 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 502168k total, 420160k used, 82008k free, 57496k buffers
Swap: 2097144k total, 0k used, 2097144k free, 254164k cached
常用选项:
-d #:指定刷新时间间隔
-b:以批次显示top的刷新
-n # 指定指定的次数
htop
u:选择指定用户的进程
l: 显示进程所打开的文件列表
s:显示进程执行的系统调用
a:显示进程的进程的cpu上
#:快速将光标定位之指定的PID进程上
quit
vmstst
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 57460 54564 285520 0 0 30 5 21 14 0 0 99 1
procs
r:运行或等待cpu时间片的进程的个数
b:被阻塞(通常为等待I/O完成)的进程的长度
memory
swpd:从物理内存交互至swap中的数据量
free:未使用的内存大小
buffer:buffer空间大小,通常与缓存写操作相关
cache:cache空间大小,通常与缓存读操作相关
swap
si:swap in 数据进入swap中的数据量,通常是速率。kb/s
so:swap out 数据离开swap中的数据量,通常是速率。kb/s
io:
bi:block in:从块设备读入的数据量,通常是速率,kb/s
bo:block out:保存至块设备中的数据量,通常是速率,kb/s
in:中断发生频率。每秒的中断数
cs:context switch 上下文切换,进程切换,通常是速率,kb/s
cpu:
us:用户空间的使用率
sy:内核空间的使用率
id:空闲
wa:等待的
st:被偷走的
使用格式
vmstat [delay [counts]]
-s:显示内存统计数据
dstat,nice,作业管理
进程:nice
用来手动调整进程优先级
默认nice为0.其默认优先级为120
nice:普通用户只能调大此值
对于尚未启动的程序
nice -n # COMMAND 表示进程以#进程启动
对于运行中的进程:
renice # PID 调整PID的nice值
查看 ps axo ni command pid
kill命令:可以实现向其他进程发送信息
kill -l :可以查看向进程发送的所有信息
man 7 sigual
kill -SIGNAL PID
-SIGNAL:
数字代号:比如1,9等
信号名称:如SIGHUP等
简写的信号名称:如HUP等
1) SIGHUP:让程序重读配置文件,而不用重启程序
2) SIGINT:中断信号。Ctrl+c即发送次信号
9) SIGKILL:杀死进程
15) SIGTERM:终止进程,比较优雅(默认)
killall -SIGNAL 进程名
Linux的作业控制
前台作业:占据着一个终端
后台作业:作业执行时不占据终端,作业启动后就释放终端
非守护进程类的程序,启动以后都在前台工作
如果已经启动:前台-->后台。ctrl+z把前台作业送往后台,作业被”停止“
如果尚未启动:COMMAND &
退出当前会话,作业也会终止,因为作业与当前终端相关,如果把作业送往后台后,不期望作业随终止结束而停止
nohup COMMAND &
如何让送往后台的作业继续执行:
fg [[%]作业号码]:将作业调回前台继续进行
bg [[%]作业号码]:让作业在后台继续进行
默认的为最后一个进入后台的任务
kill %作业号码:终止作业
查看作业号:
jobs
回顾终端:
/dev/tty#
/dev/ttyS#
/dev/pts/#
/dev/console
pmap pid
00007fb60640d000 4K rw--- /sbin/init
起始地址 空间 权限
命令总结:
ps pstree pidof pgrep top htop vmstat dstat nice renice kill jobs killall fg bg nohup pmap
常用命令举例:
1.查找名为httpd的程序 ps aux | grep http
2.杀死一个进程:
方法①
首先查出该进程的pid: # pidof httpd
停止该进程: # kill -15 pid
方法②
强行中断进程(不推荐)
kill -9 pid
centos中进程管理工具的更多相关文章
- linux(centos)下安装supervisor进程管理工具
在接触supervisor进程管理工具之前,使用springboot打包部署到linux服务器的流程是这样子的,如下图所示: 上图展示的就是最一般的流程,如果项目是小项目或者demo可以这样子去部署, ...
- Linux下取代top的进程管理工具 htop
一.htop 简介 This is htop, an interactive process viewer for Linux. It is a text-mode application (for ...
- Python 进程管理工具 Supervisor 使用教程
Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上.Supervisor 官方版目前只能运行在 Python 2 ...
- Linux进程管理工具 Supervisord 的安装 及 入门教程
Supervisor是一个进程管理工具,官方的说法: 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了 ...
- Supervisor安装与配置(Linux/Unix进程管理工具)
原文链接:http://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyth ...
- 进程管理工具supervisor
1. 简介 supervisor有两个组件:supervisord和supervisorctl,组成了client/server结构. supervisord负责读入配置文件,然后supervisor ...
- Linux进程管理工具Supervisor的安装配置
目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...
- systemd进程管理工具实战教程
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 1. systemd介绍 systemd是目前Linux系统上主要的系统守护进程管理工具,由于 ...
- supervisor python开发的进程管理工具
Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的 ...
随机推荐
- Red Hat 6.3安装gcc gc++
首先安装gcc需要相应的rpm依赖包,在安装系统的镜像文件中就有这些rpm包 首先在光驱中选择系统的安装包载入 如果桌面显示有如下的光驱 说明是已经载入了镜像,这时候,需要挂载一下镜像到mnt目录 先 ...
- 网络编程——socket(四十三)
http://www.cnblogs.com/linhaifeng/articles/6129246.html#_label7 http://www.cnblogs.com/linhaifeng/ar ...
- 简单认识python(一)
最近本宝宝被一部小说迷的神魂颠倒的,在网络上四处找免费的小说资源,一直哭唧唧的等待着每天更新的一章.实在是太可怜了,本宝宝决定自己学python,自己抓包小说. 既然知道目的地了,那就和本宝宝一起打怪 ...
- es6中的函数
ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面. function log(x, y = 'World') { console.log(x, y); } log('Hello') // ...
- java中BorderLayout的使用方法
相关设置: 使用BorderLayout布局上下左右中布局5个按键,单击中间的那个按键时就关闭窗口 代码: /**** *java中BorderLayout的使用方法 * 使用BorderLayout ...
- python---一个简单的socket
server端: 1 创建socket对象.调用socket构造函数.如: socket = socket.socket( family, type ) #family参数代表地址家族,可为 ...
- 使用pycharm开发代码上传到GitLab和GitHub
使用pycharm开发代码上传到GitLab和GitHub 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我这里主要是针对局域网的自减的GitLab服务器,python开发工程师如 ...
- 关于spring事务
https://www.cnblogs.com/caoyc/p/5632963.html 这一篇博客讲的很清楚,一些参数和事务的概念 在serveice层中 每个方法都要写上关于事务的注解.这两个 ...
- javascript 小清新颜色翻页效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js正则表达式【原】
js正则表达式 http://www.w3school.com.cn/js/js_obj_regexp.asp js常用正则表达式 我的自测样例 <HTML> <HEAD> & ...