Linux:Day12(上) 进程
内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能
Process:运行中的程序的一个副本。
存在生命周期
Linux内核存储进程信息的固定格式 :task struct
多个任务的task struct组件的链表:task list
进程创建:
init
父子关系
进程:都由其父进程创建
fork(),clone()
进程优先级:
0-139:
1-99:实时优先级;
数字越大,优先级越高;
100-139:静态优先级;
数字越小,优先级越高;
Nice值:
-20,19
Big O
O(1),O(logn),O(n),O(n^2),O(2^n)
进程内存:
Page Frame:页框,用存储页面数据
存储Page
MMU:memory Management Unit
IPC:Inter Process Communication
同一主机上:
signal
shm:shared memory
semerphor
不同主机上:
rpc:remote procesure call 远程过程调用
socket:
Linux内核:抢占式多任务
进程类型:
守护进程:daemon,在系统引导过程中启动的进程,跟终端无关的进程;
前台进程:跟终端相关,通过终端启动的进程
注意:也可以把在前台启动的进程送往后台,以守护模式运行;
进程状态:
运行态:running
就绪态:ready
睡眠态:
可中断:interruptable
不可中断:uninterruptable
停止态:暂时于内存中,但不会被调度,除非手动启动之:stopped
僵死态:zombie
进程的分类:
CPU-Bound
IO-Bound
《Linux内核设计与实现》,《深入理解Linux内核》,
Linux进程查看及管理的工具:pstree,ps,pidof,pgrep,top,htop,glance,pmap,vmstat,dstat,kill,pkill,job,bg,fg,nohup
pstree命令:
pstree - display a tree of processes
ps:process state
ps - report a snapshot of the current processes
Linux系统各进程的相关信息均保存在/pro/PID目录下的各文件中;
ps [OPTION]...
选项:支持两种风格
常用组合:aux
u:以用户为中心组织进程状态信息显示
a:与终端相关的进程;
x:与终端无关的进程;
~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
进程属主 进程ID 占据CPU时间百分比 占据内存空间百分比 虚拟内存大小
VSZ:Virtual memory SiZe
RSS:ReSident Size,常驻内存集
TTY:从哪个终端启动的,?代表与终端无关
STAT:进程状态
R:running
S:interruptable sleeping
D:uninterruptable sleeping
T:stopped
Z:zombie
+:前台进程
l:多线程进程
N:低优先级进程
<:高优先级进程
s:session leader
TIME:运行占据CPU的累计时长
COMMAND:由什么命令启动的相关进程
常用组合:-ef
-e:显示所有进程
-f:显示完整格式程序信息
常用组合:-eFH
-F:显示完整格式的进程信息
-H:以进程层级格式显示进程相关信息
常用组合:-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
ni:nice值
pri:priority,优先级
psr:processor,CPU
rtprio:实时优先级
pgrep,pkill
pgrep [OPTION] pattern
pkill [OPTION] pattern
-u uid:effective user
-U uid:real user
-t terminal:与指定终端相关的进程
-l:显示进程名
-a:显示完整格式的进程名
-P pid:显示其父进程为此处指定的进程的进程列表
pidof:根据进程名获取其PID;
top:
有许多内置命令:
排序:
P:以占据的CPU百分比;
M:占据内存百分比;
T:累积占据CPU时长;
首部信息显示:
uptime信息:l 命令
tasks及cpu信息:t命令
cpu分别显示:1(数字)
memory信息:m命令
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
用户空间 内核空间 nice值 空间时间 等待时间 硬中断时间 软中断时间 被偷走的时间 【各自时间所占据的比例】
退出命令:q
修改刷新时间间隔:s
终止指定进程:k
选项:
-d #:指定刷新时间间隔,默认为3秒
-b:以批次方式
-n #:显示多少批次;
htop命令:
选项:
-d #:指定延迟时间;
-u UserName:仅显示指定用户的进程;
-s COLOMN:以指定字段进行排序;
命令:
s:跟踪选定进程的系统调用;
l:显示选定进程打开的文件列表;
a:将选定的进程绑定至某指定CPU核心;
t:显示进程树
注意:Fedora-EPEL源
Linux:Day12(上) 进程的更多相关文章
- 深入Linux内核架构——进程管理和调度(上)
如果系统只有一个处理器,那么给定时刻只有一个程序可以运行.在多处理器系统中,真正并行运行的进程数目取决于物理CPU的数目.内核和处理器建立了多任务的错觉,是通过以很短的间隔在系统运行的应用程序之间不停 ...
- NoSql1 在Linux(CentOS)上安装memcached及使用
前言: 今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...
- Linux服务器上监控网络带宽的18个常用命令
[51CTO精选译文]本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以 ...
- Linux如何查看进程、杀死进程、启动进程等常用命令
Linux如何查看进程.杀死进程.启动进程等常用命令 关键字: linux 查进程.杀进程.起进程1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括 ...
- Linux 服务器的网络配置 - 2. 查看 Linux 服务器的进程
2. 查看 Linux 服务器的进程 1)ps [主要选项] -a 显示系统中所有进程的信息 -e 显示所有进程的信息 -f 显示进行的所有信息 -l 以长格式显示进程信息 -r 只显示正 ...
- Linux 线程与进程,以及通信
http://blog.chinaunix.net/uid-25324849-id-3110075.html 部分转自:http://blog.chinaunix.net/uid-20620288-i ...
- Linux系统编程@进程通信(一)
进程间通信概述 需要进程通信的原因: 数据传输 资源共享 通知事件 进程控制 Linux进程间通信(IPC)发展由来 Unix进程间通信 基于System V进程间通信(System V:UNIX系统 ...
- Linux服务器上监控网络带宽的18个常用命令(转)
本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以显示单个进程所使用的带 ...
- [转]Linux Ubuntu上架设FTP
Linux Ubuntu上架设FTP http://www.blogjava.net/stonestyle/articles/369104.html 操作系统:ubuntu (GNU/Linux) 为 ...
随机推荐
- 禁止用户打开HTML页面调试
有些时候,我们可能想要禁止用户修改或者调试我们HTML页面的代码,这个时候需要组织用户打开调试窗口,下面介绍一些能够阻止用户在浏览器中打开调试窗口的方法,这些方法只能一定程度的提高打开调试的门槛,并不 ...
- eclipse导入别人工程项目后,出现红叉的各种情况
原文:http://www.cnblogs.com/mmzs/p/7662863.html 1.多半是因为jdk版本的原因,调整一下即可: 解决方法:Build Path ==> Configu ...
- Spring Boot 整合 elk
一.elk 简介 Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstas ...
- js 颜色16进制转RGB方法
//颜色16进制转RGB方法 String.prototype.colorRgb = function(){ var sColor = this.toLowerCase(); //十六进制颜色值的正则 ...
- 后台返回excel文件流,js下载
/** 下载excel */ downloadExcel(data: Blob): void { var blob = new Blob([data], { type: 'application/vn ...
- 通过Excel文件快速创建页面和数据表
在设计一个软件系统,构建过程:需求->数据表->系统开发.实际情况是需求(数据)很多来源于已经存在的文件中,客户会要求把这些数据“电子化”,这就给需求分析产生了很大的工作量: 分析这些原始 ...
- ASP.NET Core 入门教程 5、ASP.NET Core MVC 视图传值入门
一.前言 1.本教程主要内容 ASP.NET Core MVC 视图引擎(Razor)简介 ASP.NET Core MVC 视图(Razor)ViewData使用示例 ASP.NET Core MV ...
- MySQL索引设计需要考虑哪些因素?
索引小知识 篇幅有限,索引的基本知识我们就不赘述了,在此,我们尝试说明其中的一个小点-----B+树与B树的区别到底是什么. InnoDB是使用B+树来实现其索引功能的.在B+树中,内节点(非叶子节点 ...
- Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和输入流 捕获sys.exit()调用 optparse argparse
Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和 ...
- UltraEdit 注册机
IDM-All-Products-KeyGen-v3.6UltraEdit 注册机 1.断开网络连接,运行UltraEdit软件后,点击“帮助”—“注册/激活”; 2.许可证ID填写“zd423”.密 ...