linux基础—课堂随笔08_进程(转)
)

进程优先级




命令
pstree
-p 显示各个子线程




ps 进程状态(process state)
UNIX风格:ps -ef BSD风格:ps aux
还有用到o参数,选项显示定制的信息: pid、comm、%cpu、%mem、state、tty、euser、ruser、psr
psr:用的哪颗cpu
ps axo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm
ps -eo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ni:nice值
pri:priority 优先级(数越大优先级越高,跟前面图里的system优先级反过来)
psr: processor CPU编号
rtprio:实时优先级
栗子:


查看进程 ps -C PROCESSNAME(进程名)
选项:默认显示当前终端中的进程
• a 选项包括所有终端中的进程 • x 选项包括不链接终端的进程 • u 选项显示进程所有者的信息 • f 选项显示进程树,相当于 --forest • k|--sort 属性 对属性排序,属性前加- 表示倒序 • o 属性… 选项显示定制的信息 pid、cmd、%cpu、%mem • L 显示支持的属性列表
-L 显示线程
-e 显示所有进程,相当于-A
-f 显示完整格式程序信息
-F 显示更完整格式的进程信息
-u userlist 指定有效的用户ID或名称
-U userlist 指定真正的用户ID或名称
-g gid或groupname 指定有效的gid或组名称
-G gid或groupname 指定真正的gid或组名称
单独显示某个进程,可以加o参数扩展。


ps输出信息


STAT:进程状态
R:running
S:interruptable sleeping(可中断睡眠)
D:uninterruptable sleeping(不可中断的睡眠)
T:stopped
Z:zombie
+:前台进程
l:多线程进程
L:内存分页并带锁
N:低优先级进程
<:高优先级进程
s:session leader,会话(子进程)发起者
nice 调整优先级
运行某个命令,指定优先级:
nice -n -xx COMMAND:xx范围为 -20~19
在运行中的程序,修改优先级:
renice -n -xx PID:xx范围为 -20~19
pgrep 搜索进程信息
-u uid: effective user,生效者
-U uid:real user,真正发起运行命令者
-t terminal(终端):与指定终端相关的进程
-l:显示进程名
-a:显示完整格式的进程名
-P pid:显示指定进程的子进程
pidof 按确切的程序名称显示pid
命令路径:/sbin/pidof
用法:pidof COMMAND
uptime 显示启动状态
显示当前时间,系统已启动的时间,当前上线人数,系统平均负载(1、5、10分钟的平均负载,一般不会超过1)


系统平均负载: 指在特定时间间隔内运行队列中的平均进程数。
通常每个CPU内核的当前活动进程数不大于3,那么系统的性能良好。如果每个CPU内核的任务数大于5,那么此主机的性能有严重问题。
如果linux主机是1个双核CPU,当Load Average为6的时候说明机器已经被充分使用。
top 显示进程使用系统资源情况


第一行:相当于uptime命令 第二行:进程信息 第三行:CPU使用情况 第四行:内存使用情况 第五行:交换分区swap使用情况
cpu行
us:user,用户空间占用
sy:system,内核空间占用
ni:调整nice时间
id:idle,空闲
wa:wait,等待IO时间
hi:hard interupt,硬中断
si:soft interupt, 软中断(模式切换)
st:stole, 虚拟机偷走的时间
排序
打开top后,按快捷键自定义排序:
P:以占据的CPU百分比,%CPU
M:占据内存百分比,%MEM
T:累积占据CPU时长,TIME+
首部信息是否显示
uptime信息:l
tasks及cpu信息:t
cpu分别显示:1(数字1)
memory信息:m
退出命令:q
修改刷新时间间隔:s
终止指定进程:k
保存文件:W
vmstat
用法示例:
vmstat 2 5 :每2秒刷一次,刷5次
选项:-s 显示内存的统计数据


各项含义:
procs:
r:可运行(正运行或等待运行)进程的个数,和核心数有关
b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
memory:
swpd: 交换内存的使用总量
free:空闲物理内存总量
buffer:用于buffer的内存总量
cache:用于cache的内存总量
swap:
si:从磁盘交换进内存的数据速率(kb/s)
so:从内存交换至磁盘的数据速率(kb/s)
io:
bi:从块设备读入数据到系统的速率(kb/s)
bo: 保存数据至块设备的速率
system:
in: interrupts 中断速率,包括时钟
cs: context switch 进程切换速率
cpu:
us:Time spent running non-kernel code
sy: Time spent running kernel code
id: Time spent idle. Linux 2.5.41前,包括IO-wait time.
wa: Time spent waiting for IO.2.5.41前,包括in idle.
st: Time stolen from a virtual machine.2.6.11前, unknown.
iostat cpu和磁盘IO
iostat 1 10 每一秒刷新一次,刷新10次
dstat


-c:显示cpu相关信息
-C #,#:,......,total


-d:显示disk相关信息
-D total,sda,sdb......


-g:显示page相关统计数据(交换分区)
-m:显示memory相关统计数据
-n: 显示network相关统计数据
-p: 显示process相关统计数据
-r: 显示io请求相关的统计数据
-s: 显示swapped相关的统计数据
linux基础—课堂随笔08_进程(转)的更多相关文章
- linux基础—课堂随笔010_系统启动和内核管理
系统启动和内核管理 Linux: kernel+rootfs kernel: 进程管理.内存管理.网络管理.驱动程序.文件系统.安全功能 rootfs:程序和glibc 库:函数集合, functio ...
- linux基础—课堂随笔_03 SHELL脚本编程基础
shell脚本编程基础 条件选择:if语句 选择执行: 注意:if语句可嵌套 单分支 if(开头)判断条件:then条件为真的分支代码 fi(结尾) 双分支 if(开头)判断条件:then条件为真的分 ...
- linux基础—课堂随笔07_磁盘存储和文件系统
磁盘管理 管理分区 列出块设备 lsblk parted命令 高级分区操作 用法: parted [选项]... [设备 [命令 [参数]...]...] parted /dev/sdb mkl ...
- linux基础—课堂随笔05_文本三剑客之SED
1.简介 sed是非交互式的编辑器,它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下 ...
- linux基础—课堂随笔09_数组
数组:(6.14 第一节) 取分区利用率,大于百分之八十则发出警报 取分区第一列 取分区使用率: 脚本: 检查脚本语法: ——end 数组切片: 1.跳过前两个取后面 2.跳过前两个取三个 生成10个 ...
- linux基础—课堂随笔06_软件包管理
软件包管理 rpm 包和包管理器 包的组成: 二进制文件.库文件.配置文件.帮助文件 程序包管理器: debian: deb文件,dpkg包管理器 redhat:rpm文件,rpm包管理器 r ...
- linux基础—课堂随笔04_文件查找和压缩
文件查找和压缩 文件查找 1.locate 这个命令是对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了用locate查找文件速度很快,但是locate命令只能对文件进 ...
- Linux基础: 网络命令和进程管理
netstat lsof ps pstree pkill/kill (了解jenkins git,排查环境) 查询服务器之间是否有链接(netstat -an) 某个服务是否启动(了解服务对应的 ...
- Linux基础命令---top显示进程信息
top top指令用来显示Linux的进程信息,这是一个动态显示的过程.top提供运行系统的动态实时视图.它可以显示系统摘要信息以及当前由Linux内核管理的任务列表.所显示的系统摘要信息的类型以及为 ...
随机推荐
- 测试ssh转发
端口转发提供: 1.加密 SSH Client 端至 SSH Server 端之间的通讯数据. 2.突破防火墙的限制完成一些之前无法建立的 TCP 连接. 但是只能转发tcp连接,想要转发UDP,需要 ...
- C++返回对象和返回引用
我们发现,在C++中,有些成员函数返回的是对象,而有些函数返回的又是引用. 返回对象和返回引用的最主要的区别就是函数原型和函数头. Car run(const Car &) //返回对 ...
- Linux核心系统命令
关机,重启: shutdown -h now:关机 shutdown -r now:重启 文件和目录操作命令: pwd:显示当前所在路径 cd:切换目录 cd - :切换到上一次所在路径 cd ~:切 ...
- Spring源码分析(1)容器的基本实现——核心类介绍
bean是Spring中最核心的东西,因为Spring就像是个大水桶,而bean就像是容器中的水,水桶脱离了水便也没什么用处了,那么我们先看看bean的定义. public class MyTestB ...
- 论文阅读 | Robust Neural Machine Translation with Doubly Adversarial Inputs
(1)用对抗性的源实例攻击翻译模型; (2)使用对抗性目标输入来保护翻译模型,提高其对对抗性源输入的鲁棒性. 生成对抗输入:基于梯度 (平均损失) -> AdvGen 我们的工作处理由白盒N ...
- 生产环境Crontab专业实例
1)书写Crontab定时任务多个基本要领 1.规范定时任务两例 例1:每分钟打印一次自己名字的全拼到 “/server/log/自己命名的文件” 中
- Linux命令---ln、readlink
ln 无参数--------创建硬链接 -s -------------创建软链接 用法:ln [option] 源文件 目标文件 ln test.txt test_hard.txt 只有在同 ...
- 关于js中this指向的问题
this的绑定规则有4种 默认绑定 隐性绑定 显性绑定 new绑定 this绑定优先级 new 绑定 > 显性绑定 > 隐性绑定 > 默认绑定 1.如果函数被new 修饰 this绑 ...
- ucloud-monitor
创建报警模板: 可以从现有模板导入: 设定指标: #通知人管理,可以设置报警短信通知人: #给主机绑定告警模板: 勾选要绑定的主机 点设置: #选择要添加的告警模板
- libmkl 学习笔记
libmkl 学习笔记 1.libkml下载地址为: https://github.com/libkml/libkml/releases 这里下载1.3.0版本 2.编译与安装 mkdir build ...
