进程优先级

命令

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_进程(转)的更多相关文章

  1. linux基础—课堂随笔010_系统启动和内核管理

    系统启动和内核管理 Linux: kernel+rootfs kernel: 进程管理.内存管理.网络管理.驱动程序.文件系统.安全功能 rootfs:程序和glibc 库:函数集合, functio ...

  2. linux基础—课堂随笔_03 SHELL脚本编程基础

    shell脚本编程基础 条件选择:if语句 选择执行: 注意:if语句可嵌套 单分支 if(开头)判断条件:then条件为真的分支代码 fi(结尾) 双分支 if(开头)判断条件:then条件为真的分 ...

  3. linux基础—课堂随笔07_磁盘存储和文件系统

    磁盘管理 管理分区 列出块设备  lsblk parted命令 高级分区操作 用法:  parted [选项]... [设备 [命令 [参数]...]...]  parted /dev/sdb mkl ...

  4. linux基础—课堂随笔05_文本三剑客之SED

    1.简介 sed是非交互式的编辑器,它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下 ...

  5. linux基础—课堂随笔09_数组

    数组:(6.14 第一节) 取分区利用率,大于百分之八十则发出警报 取分区第一列 取分区使用率: 脚本: 检查脚本语法: ——end 数组切片: 1.跳过前两个取后面 2.跳过前两个取三个 生成10个 ...

  6. linux基础—课堂随笔06_软件包管理

    软件包管理 rpm 包和包管理器 包的组成:  二进制文件.库文件.配置文件.帮助文件 程序包管理器:  debian: deb文件,dpkg包管理器  redhat:rpm文件,rpm包管理器  r ...

  7. linux基础—课堂随笔04_文件查找和压缩

    文件查找和压缩 文件查找 1.locate   这个命令是对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了用locate查找文件速度很快,但是locate命令只能对文件进 ...

  8. Linux基础: 网络命令和进程管理

    ​  netstat lsof ps pstree pkill/kill (了解jenkins git,排查环境) 查询服务器之间是否有链接(netstat -an) 某个服务是否启动(了解服务对应的 ...

  9. Linux基础命令---top显示进程信息

    top top指令用来显示Linux的进程信息,这是一个动态显示的过程.top提供运行系统的动态实时视图.它可以显示系统摘要信息以及当前由Linux内核管理的任务列表.所显示的系统摘要信息的类型以及为 ...

随机推荐

  1. 删除ELK的索引

    终于找到一个工具,curator,可以搜索相关信息. 记录一下: 1,查询索引:   curator_cli --host 10.2.16.191 --port 9200 show_indices - ...

  2. C# CRC16 modbus

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. linux的vm.overcommit_memory的内存分配参数详解

    公司的redis有时background save db不成功,通过log发现下面的告警,很可能由它引起的: [13223] 17 Mar 13:18:02.207 # WARNING overcom ...

  4. liunx基本操作命令

    1.  rm  删除命令 rm   -i  文件名-----------询问y/N 删除文件 rm  -f  文件名-----------直接删除文件 rm  -r  目录 rm   文件名 rm  ...

  5. pandas中groupby的参数:as_index

    参考:https://blog.csdn.net/cjsyr6wt/article/details/78200444?locationNum=11&fps=1 以下是pandas官方的解释: ...

  6. iscsi-分区类型

    iSCSI简介(Internet SCSI): iSCSI 小型计算机系统接口,IBM公司研发,用于在IP网络上运行SCSI协议:解决了 SCSI需要直连存储设备的局限性:可以不停机扩展存储容量,iS ...

  7. SecureCRT 8.3注册码下载

    SecureCRT注册码是一款针对“SecureCRT 8.3”软件而制作的激活破解工具,可以完美激活“SecureCRT”软件,从而达到免费使用的目的.而SecureCRT则是一款非常优秀的且支持s ...

  8. SpringCloud学习(八)消息总线(Spring Cloud Bus)(Finchley版本)

    Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要讲述的是用Spring Cloud Bus实现通知微服务 ...

  9. if(!ConnectDBProc(strCmd,m_dbUserName,m_dbPassword))

    https://wenku.baidu.com/view/826b3d426bec0975f565e204.html

  10. c++ erase 中的坑

    先看一段正常的代码 #include <iostream> #include <string> using namespace std; int main() { " ...