linux 进程管理命令

进程管理命令

查看进程命令

ps命令

显示系统上运行的进程列表

# 查看系统中所有正在运行的系统
ps aux

#
 获取占用内存资源最多的10个进程,可以使用如下命令组合:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
# 获取占用CPU资源最多的10个进程,可以使用如下命令组合:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head



------------
a  显示所有用户的所有进程,除了会话引线
u  显示进程的归属用户及内存的使用情况,按照用户名和启动时间顺序显示
x  显示没有控制终端的进程
-e  显示系统中所有的进程
-f  显示进程间关系
-H  显示树状结构
-r  显示当前终端的程序
-T  显示当前终端的所有程序
-p  根据进程ID显示对应的信息
-A 简明查看系统启动的所有进程
aux 显示所有用户所有进程的详细信息


ps -ef


显示的内容

ps命令结果
ps命令结果
  • USER 哪个用户产生的
  • PID 进程的ID号
  • %CPU 该进程占用CPU资源的百分比
  • %MEM 该进程占用物理内存的百分比
  • VSZ 该进程占用虚拟内存的大小,单位KB
  • RSS 该进程占用实际物理内存的大小,单位KB
  • TTY 该进程是在哪个终端中运行的。tty1-tty7代表本地控制台终端,tty1-tty6是本地字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端,一般是远程连接的终端,第一个远程连接占用的是pts/0终端,依次递增,?表示由内核直接启动的,是系统进程
  • STAT 进程状态。
    • D表示不可唤醒的睡眠状态,通常用于I/O情况
    • R表示进程正在进行
    • S表示进程在睡眠状态,可被唤醒
    • T表示停止状态,可能是在后台暂停或进程在出错状态
    • W表示内存交互状态
    • X表示死掉的进程
    • Z表示僵尸进程。进程已经终止,但是部分程序还在内存当中
    • <表示高优先级
    • N表示低优先级
    • L表示被锁入内存
    • s表示饱汉子进程
    • l表示多线程
    • +表示位于后台
  • START 该进程的启动时间
  • TIME 该进程占用CPU的运算时间
  • COMMAND 产生此进程的命令

top命令

实时对系统处理器状态进行监控

top -p  1298

-------
选项
-p  只查看某个PID
-b  分屏显示输出信息,结合-n可以把数据可以写入文件
-n  刷新几次
-d  指定刷新间隔
-i  不显示闲置的进程信息
-c  显示进程的整个命令路径





------
交互选项
P  按照CPU排序,默认
M  按照内存使用率排序
N  按照PID排序
k  终止一个进程,提示用户输入一个需要终止进程的pid
i  忽略闲置进程
s  改变top刷新间隔
o  改变输出信息中显示项目的顺序。按小写的a~z键可以将相应的列向右移动,按大写的A~Z键可以将相应的列向左移动。回车确认
c  显示完整命令行
q  退出top命令

默认情况下,top是按照进程来显示CPU消耗情况的,按 SHIFT+H 可以按照线程来查看CPU的消耗情况

显示的内容

top命令结果
top命令结果

第一行是任务队列信息,返回信息与uptime类似,系统当前时间、系统运行了多长时间、有多少用户正在使用该系统、系统每隔1分钟、5分钟、15分钟的平均负载

第二行是进程统计信息,分别为总数、正在运行的数量、睡眠的数量、停止的数量、僵尸数

第三行 %Cpu一行中展示的是cpu的使用情况

  • us (User time)表示用户进程占用的时间
  • sy (System time)表示系统进程占用的时间 us+sy一般合理值是在60-85%,超过85则会影响吞吐量
  • ni (Nice time)表示系统花费在调整进程优先级上的时间
  • id (Idle time)一般大于40,表示CPU空闲时间,id经常小于40,表示cpu的负荷很重
  • wa (Waiting time)一般应小于25%,表示用于等待IO完成的CPU时间,超过25%的wa的值可以表示子系统可能没有被正确平衡,也可能是磁盘密集工作负载的结果,系统的磁盘或其它I/o可能有问题,可以通过iostat/SAR –C命令进一步分解分析
  • hi (Hardirq time)表示处理硬件中断的CPU时间
  • si (Softirq time)表示处理软件中断的CPU时间
  • st (Steal time)表示当前CPU被强制(involuntary wait )等待另外虚拟的CPU处理完毕时花费的时间,此时 hypervisor 在为另一个虚拟处理器服务

最下边一栏是进程信息区

  • PR 进程优先级
  • VIRT 进程使用的虚拟内存总量。VIRT=SWAP+RES
  • RES 进程使用的、未被换出的物理内存大小。RES=CODE+DATA
  • SHR 共享内存大小
  • S 进程状态,D表示不可中断的睡眠状态,R表示运行状态,S表示睡眠状态,T表示跟踪/停止,Z表示僵死进程

如果想查看每个CPU的利用率,可以按1来查看每个cpu核的利用率了

pstree命令

可以查看到依赖关系

pstree -aup

-a  显示每个程序的完整指令,包括路径,参数
-c  不使用精简标示法
-G  使用VT100终端机的列绘图字符
-h  列出树状图时,特别标明现在执行的程序
-H 程序识别码   此参数的效果与-h参数类似,但特别标注指定的程序
-l  采用长列格式显示树状图
-n  用程序识别码排序
-p  显示程序识别码
-u  显示用户名称

pmap命令

显示进程调用的各种库分别占用内存的情况,可以看到所有内存地址的详细信息,而且还显示了启动进程的命令

# 通过进程id来查找
pmap -d 133872

mpstat命令

显示多处理器系统的CPU使用率,这些信息存放在/proc/stat文件中 mpstat命令结果

杀死进程命令

#强制关闭指定进程
kill -9 pid

#
 关闭指定进程
kill pid 

#
 关闭服务的所有进程
killall 服务名

#
 强制关闭服务的所有进程
killall -9 服务名

pidstat命令

指令
# -w 进程的上下文切换
# -d 进程IO
# -r 进程内存使用
# -u 进程cpu使用



#
 cswch/s 是让步式上下文切换
pidstat -w

UID  PID   cswch/s nvcswch/s  Command

#
 5s一次监控进程pid为2213
pidstat -w -I -p 2213 5

#
 监控进程pid的ip的io
pidstat -d -p 2213
UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command

进程内存文件

linux中,在/proc/{pid}目录下存储指定进程的相关信息,其中/proc/{PID}/smaps 文件中记录着当前进程所对应的内存映像信息,可以通过该信息查询指定进程的swap使用情况

cat /proc/15812/smaps | grep Swap

https://zhhll.icu/2021/linux/日常管理/进程管理命令/

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/100230.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go语言最全面试题,拿offer全靠它,附带免积分下载pdf

面试题文档下链接点击这里免积分下载 go语言入门到精通点击这里免积分下载 文章目录 Go 基础类GO 语言当中 NEW 和 MAKE 有什么区别吗&#xff1f;PRINTF(),SPRINTF(),FPRINTF() 都是格式化输出&#xff0c;有什么不同&#xff1f;GO 语言当中数组和切片的区别是什么&#xf…

C标准输入与标准输出——stdin,stdout

&#x1f517; 《C语言趣味教程》&#x1f448; 猛戳订阅&#xff01;&#xff01;&#xff01; ​—— 热门专栏《维生素C语言》的重制版 —— &#x1f4ad; 写在前面&#xff1a;这是一套 C 语言趣味教学专栏&#xff0c;目前正在火热连载中&#xff0c;欢迎猛戳订阅&#…

Django框架中使用drf框架开发

一、drf框架特点&#xff1a; 全称 Django REST framework 两大部分&#xff1a;序列化/反序列化 和 增删改查序列化&#xff1a;把数据库数据提取出来变成python常用格式的过程&#xff0c;例如转成json格式这种反序列化&#xff1a;把数据写入到数据库的过程&#xff0c…

【ES6】Class中this指向

先上代码&#xff1a; 正常运行的代码&#xff1a; class Logger{printName(name kexuexiong){this.print(hello ${name});}print(text){console.log(text);} }const logger new Logger(); logger.printName("kexueixong xiong");输出&#xff1a; 单独调用函数p…

10.Redis 渐进式遍历

Redis 渐进式遍历 渐进式遍历scan 渐进式遍历 keys 命令一次性的把整个redis中所有的key都获取到&#xff0c;keys *但这个操作比较危险&#xff0c;可能会一下子得到太多的key,阻塞 redis 服务器。 通过渐进式遍历&#xff0c;就可以做到&#xff0c;既可以获取到所有的 key&…

day5 qt

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);timer_idthis->startTimer(100);//啓動一個定時器 每100ms發送一次信號ui->Edit1->setPlaceholderTex…

递归算法学习——有效的数独,解数独

一&#xff0c;有效的数独 1.题意 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 &#xff0c;验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#x…

小红书种草推广步骤是怎样的,小红书种草效果好吗?

小红书作为一个以美妆、时尚和生活为主题的社交电商平台&#xff0c;引起了广大用户的关注。作为品牌或商家&#xff0c;通过在小红书上进行种草推广能够有效提升品牌曝光度并吸引潜在客户。小红书的种草推广步骤是怎样的&#xff1f;种草推广效果又如何呢&#xff1f;下面伯乐…

【已解决】使用xshell来ssh到vmware的虚拟机,请求超时的问题

我的情况&#xff1a; 1.本地ping虚拟机请求超时&#xff0c;但是虚拟机ping本地成功 2.本地和虚拟机的防火墙都关了&#xff0c;ssh服务也开了 3.端口也是正确的 百思不得其解&#xff0c;不知道为什么就是连接不上 当出现这种情况的时候&#xff0c;可以考虑一下vmware的…

【数据结构篇】线性表2 —— 栈和队列

前言&#xff1a;上一篇我们介绍了顺序表和链表 &#xff08;https://blog.csdn.net/iiiiiihuang/article/details/132615465?spm1001.2014.3001.5501&#xff09;&#xff0c; 这一篇我们将介绍栈和队列&#xff0c;栈和队列都是基于顺序表和链表来实现的 目录 栈&#xff…

算法模型嵌入式 Mendix应用的开发示例

一、前言 根据埃森哲最新一项调查&#xff0c;2023年67%的企业持续加大在技术方面的投入&#xff0c;其中数据和AI应用是重中之重。AI在企业内部应用这个话题已经保持了十多年的热度&#xff0c;随着ChatGPT为代表的生成式AI技术的出现&#xff0c;这一话题迎来又一波的高潮。…

SpringMVC入门的注解、参数传递、返回值和页面跳转---超详细教学

前言&#xff1a; 欢迎阅读Spring MVC入门必读&#xff01;在这篇文章中&#xff0c;我们将探索这个令人兴奋的框架&#xff0c;它为您提供了一种高效、灵活且易于维护的方式来构建Web应用程序。通过使用Spring MVC&#xff0c;您将享受到以下好处&#xff1a;简洁的代码、强大…