linuxOPS基础_进程查看与管理

news2024/11/24 14:25:01

进程与程序的关系

进程是正在执行的一个程序或命令,每个进程都是一个运行的实体,并占用一定的系统资源。程序是人使用计算机语言编写的可以实现特定目标或解决特定问题的代码集合。

​ 简单来说,程序是人使用计算机语言编写的,可以实现一定功能,并且可以执行的代码集合。进程是正在执行中的程序。

举例:谷歌浏览器是一个程序,当我们打开谷歌浏览器,就会在系统中看到一个浏览器的进程,当程序被执行时,程序的代码都会被加载入内存,操作系统给这个进程分配一个 ID,称为 PID(进程 ID)。我们打开多个谷歌浏览器,就有多个浏览器子进程,但是这些进程使用的程序,都是chrome

PID = Process ID = 进程编号

在这里插入图片描述

进程管理命令

top查看 CPU使用情况

命令:top

作用:查看服务器的进程占用的资源(100%使用)

语法:# top (动态显示)

常用交换操作快捷键效果
M(大写)表示将结果按照内存(MEM)从高到低进行降序排列
P(大写)表示将结果按照CPU 使用率从高到低进行降序排列
1当服务器拥有多个cpu 的时候可以使用“1”快捷键来切换是否展示显示各个cpu 的详细信息
q退出

top查看的各个信息意思

第一行

在这里插入图片描述

内 容说 明
10:12:28系统当前时间
up 13:05系统的运行时间.本机己经运行 13 小时 05 分钟
3 users当前登录了三个用户
load average: 0.00,0.01,0.05系统在之前 1 分钟、5 分钟、15 分钟的平均负载。如果 CPU 是单核的,则这个数值超过 1 就是高负载:如果 CPU 是四核的,则这个数值超过 4 就是高负载

获取cpu总核心数
grep ‘core id’ /proc/cpuinfo |sort -u |wc -l

第二行

在这里插入图片描述

Tasks: 230 total系统中的进程总数
1 running正在运行的进程数
229 sleeping睡眠的进程数
0 stopped正在停止的进程数
0 zombie僵尸进程数。如果不是 0,则需要手工检查僵尸进程
第三行

在这里插入图片描述

内 容说 明
Cpu(s): 0.1 %us用户模式占用的 CPU 百分比
0.1%sy系统模式占用的 CPU 百分比
0.0%ni改变过优先级的用户进程占用的 CPU 百分比
99.7%ididle缩写,空闲 CPU 占用的 CPU 百分比
0.1%wa等待输入/输出的进程占用的 CPU 百分比
0.0%hi硬中断请求服务占用的 CPU 百分比
0.1%si软中断请求服务占用的 CPU 百分比
0.0%stst(steal time)意为虚拟时间百分比,就是当有虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比
第四行

在这里插入图片描述

内 容说 明
Mem: 1863252 total物理内存的总量,单位为KB
829960 used己经使用的物理内存数量
68352 free空闲的物理内存数量。我们使用的是虚拟机,共分配了 628MB内存,所以只有53MB的空闲内存
96490 buff/cache作为缓冲的内存数量

真正剩余内存 = free + buff/cache,真正使用内存 = used - buff/cache

第五行

在这里插入图片描述

内 容说 明
Swap: 2097148 total交换分区(虚拟内存)的总大小
3336 used已经使用的交换分区的大小
2093812 free空闲交换分区的大小
622420 avail Mem可用内存

在Linux操作系统分区时,最少需要3个分区:

① /boot分区 : 系统分区

② swap交换分区 :一般情况下为内存的1~2倍,但是尽量不要超过2G

③ /分区 :根分区,所有文件都存放于此

swap分区:就是当计算机的内存不足时,系统会自动从硬盘中划出一块区域充当内存使用。

​ 我们通过 top 命令的整体信息部分,就可以判断服务器的健康状态。如果 1 分钟、5 分钟、15 分钟的平均负载高于CPU核数,说明系统压力较大。如果物理内存的空闲内存过小,则也证明系统压力较大。

问题:根据以上信息,目前我们的系统压力如何?

答:看CPU负载及内存的使用情况

问题:如果我们发现CPU负载过大,接下来怎么办?

答:如果1分钟、5分钟以及15分钟全部超过CPU的总核心数(必须引起警觉),这个时候就要查看底部的进程信息了。

经验之谈:如果一个总核数=8核心的CPU,理论上平均负载达到16,也还可以坚持很长一段时间。

系统的进程信息

在这里插入图片描述

PID进程的 ID。
USER该进程所属的用户。
PR优先级,数值越小优先级越高。
NINICE优先级,数值越小优先级越高,取值范围-20到19,默认都是0
VIRT该进程使用的虚拟内存的大小,单位为 KB。
RES该进程使用的物理内存的大小,单位为 KB。
SHR共享内存大小,单位为 KB。计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)
S进程状态。其中S 表示睡眠,R 表示运行
%CPU该进程占用 CPU 的百分比。
%MEM该进程占用内存的百分比。
TIME+该进程共占用的 CPU 时间。
COMMAND进程名
问题:如果我们发现CPU负载过大,接下来怎么办?

答:查看占用CPU最多的进程

问题:如何查看占用CPU最多的进程?

答:交互操作快捷键P,P(大写):,表示将结果按照CPU 使用率从高到低进行降序排列

问题:如果我们发现内存可用量很小,接下来怎么办?

答:查看占用内存最多的进程,使用交互快捷键M(大写):表示将结果按照内存(MEM)从高到低进行降序排列
在这里插入图片描述

问题 如何使用查看CPU使用情况
top

含义:查看CPU使用情况
在这里插入图片描述

free查看内存使用情况

# free [选项] 1GB = 1024MB 1MB = 1024KB
选项说明:
-m : 以MB的形式显示内存大小

案例:显示计算机的内存使用情况

free -m

和Centos6相比,buffer和cached被合成一组,加入了一个available。

​ 关于此available,即系统可用内存,用户不需要去计算buffer/cache,即可以看到还有多少内存可用,更加简单直观

在这里插入图片描述

df查看磁盘剩余空间

基本语法:

# df [选项]
-h :以较高的可读性显示磁盘剩余空间大小

df = disk free = 磁盘 剩余

这几列依次是:

Filesystem磁盘名称
Size总大小
Used被使用的大小
Avail剩余大小
Use%使用百分比
Mounted on挂载路径(相当于Windows 的磁盘符)

ps查看系统进程信息

top : 动态查看系统进程的信息(每隔3s切换一次)

ps : 静态查看系统进程的信息(只能查询运行ps命令瞬间,系统的进程信息)

基本语法:

# ps [选项]
选项说明:
-e : 等价于“-A”,表示列出全部(all)的进程
-f : 表示full,显示全部的列(显示全字段)

案例:显示当前系统中所有进程的信息

# ps -ef

在这里插入图片描述

UID该进程执行的用户ID
PID进程ID
PPID该进程的父级进程ID,如果找不到,则该进程就被称之为僵尸进程(Parent Process ID)
CCpu的占用率,其形式是百分数
STIME进程的启动时间
TTY终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起
TIME进程实际使用CPU的时间
CMD该进程的名称或者对应的路径

我们在实际工作中使用ps命令其实主要用于查询某个进程的PID或PPID

ps aux命令
 ps aux

# man ps

1 UNIX options, which may be grouped and must be preceded by a dash. ps -ef
2 BSD options, which may be grouped and must not be used with a dash. ps aux

在这里插入图片描述
USER:该 process 属于哪个使用者账号
PID :该 process 的ID
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该 process 被触发启动的时间
TIME :该 process 实际使用 CPU 运作的时间
COMMAND:该程序的实际指令

netstat/ss查询网络访问信息

# netstat [选项] |grep 进程名称

选项选项说明
-t表示只列出tcp 协议的连接(tcp协议与udp协议)
-n表示将地址从字母组合转化成ip 地址,将协议转化成端口号来显示 10.1.1.10:80
-l表示过滤出"state(状态)"列中其值为LISTEN(监听)的连接
-p表示显示发起连接的进程pid 和进程名称

查询Web Server(httpd)服务的端口信息

netstat -tnlp |grep httpd

基本语法:

ss -naltp |grep 进程名称

案例:查询sshd服务的端口信息

ss -naltp |grep sshd

netstat与ss区别?① netstat信息比较简洁,ss更加丰富 ② ss执行效率比netstat略高一些

kill/killall杀死进程

kill根据pid杀掉进程

命令:kill
语法:kill [信号] PID
作用:kill 命令会向操作系统内核发送一个信号(多是终止信号)和目标进程的 PID,然后系统内核根据收到的信号类型,对指定进程进行相应的操作

kill经常结合ps命令一起使用

信号种类:

信号编号含义
9杀死进程,即强制结束进程。
15正常结束进程,是 kill 命令的默认信号。
使用kill命令杀死crond进程
ps -ef |grep crond
7102
kill 7102

备注:在互联网中,经常看到kill -9 进程PID,强制杀死某个进程,kill -9 pid

killall根据进程名称杀掉进程
基本语法:

# killall [信号编号] 进程名称

案例:使用killall命令杀死crond进程

# killall crond

案例:使用killall命令杀死httpd进程

# killall httpd

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三菱FX5U系列PLC之间进行简易PLC间链接功能的具体方法

三菱FX5U系列PLC之间进行简易PLC间链接功能的具体方法 功能介绍: 在最多8台FX5U或者FX3U PLC之间通过RS-485通信方式连接,进行软元件相互链接的功能。 接线注意事项: 根据链接模式和所使用的从站数量的不同,链接软元件的占用点数也有所变化。根据链接软元件的起始编号,对占…

Java数据结构之第十五章、Trie(前缀树/单词查找树)

一、前缀树 1.1前缀树相关知识 1.前缀树的概念:前缀树又叫字典树或单词查找树(高效的存储和查找字符串集合的数据结构)。 2.主要应用场景:给定一个字符串集合构建一颗前缀树,然后给定一个字符串,判断前缀…

Flink 流批一体在 Shopee 的大规模实践

摘要:本文整理自 Shopee 研发专家李明昆,在 Flink Forward Asia 2022 流批一体专场的分享。本篇内容主要分为四个部分: 1. 流批一体在 Shopee 的应用场景 2. 批处理能力的生产优化 3. 与离线生态的完全集成 4. 平台在流批一体上的建设和演进 …

华为OD机试 JavaScript 实现【扑克牌大小】【牛客练习题 HJ88】,附详细解题思路

一、题目描述 扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A、2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王&#xff09…

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)

文章目录 📋前言🎯Array.from()🎯Array.of()🎯Array.find()🎯Array.findIndex()🎯Array.includes()🎯Array.flat()🎯Array.flatMap()🎯Array.every()🎯Array.…

MQTT相关知识点

目录 一、简述 二、设计规范 三、MQTT协议原理 3.1 MQTT协议实现方式 3.2 网络传输与应用消息 3.3 MQTT客户端 3.4 MQTT服务器 3.5 MQTT协议中的订阅、主题、会话 3.6 MQTT协议中的方法 四.MQTT脑图 五.体验MQTT 搭建MQTT服务器(Broker) MQT…

MFC 工具栏SOP 线程创建非模式化窗口 实现拓展工具栏

自己在学习工具栏的时候,做的笔记 1 实现基本工具栏 1.1 在Dlg.h文件中声明变量和定义资源ID #define ID_BUTTONS 501CToolBar m_toolbar; //工具栏 CImageList m_imageList; //工具栏图片 CImageList m_hotImageList; //工具栏热点图片 CReBar m_Rebar; //…

Jenkins安装以及部署

本文基于war包形式部署的 需要提前下载Jenkins的war包 Jenkins 的安装和设置下载内容 https://mirrors.jenkins.io/war 版本对应 目录 1.初始化环境 2.安装jdk 安装git Maven配置 安装Jenkins 使用DockerFile的方式进行部署 1.初始化环境 mkdir -p /home/soft 2.安装…

Python零基础入门(一)——Python简介与基础语法

系列文章目录 个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python入门专栏:《Python入门》欢迎阅读,一起进步!🌟🌟🌟 码字不易,如果觉得文章不…

智慧食堂如何建造?手把手教你

智慧食堂是现代科技与餐饮行业相结合的创新应用。随着技术的不断发展,许多企业和机构正积极采用智慧收银系统来改进食堂管理和收银流程。 引入智慧收银系统不仅可以提高企业食堂的运营效率,降低错误率,还能为企业带来更多的商机和竞争优势。 …

开源客户沟通平台Chatwoot

什么是 Chatwoot ? Chatwoot 是一个开源客户沟通平台,可帮助公司在其网站、Facebook 页面、Twitter、Whatsapp、SMS、电子邮件等上吸引客户。 它是 Intercom、Zendesk、Salesforce Service Cloud 等的开源替代品。 很多网站的右侧或者右下角,…

中银国际在以太坊上发行代币化票据?三种可能,扑朔迷离!

* * * 原创:刘教链 * * * 号外:今天在“刘教链Pro”发表了一篇内参文章,《内参:对币本位高抛低吸策略的一点儿思考》(次条),以及一篇原创文章《他提案将SEC主席Gary Gensler撤职》(…

加速44%!RT-DETR量化无损压缩优秀实战

RT-DETR 模型是飞桨目标检测套件 PaddleDetection 最新发布的 SOTA 目标检测模型。其是一种基于 DETR 架构的端到端目标检测器,在速度和精度上均取得了 SOTA 性能。在实际部署中,为了追求“更准、更小、更快”的效率能力,本文使用飞桨模型压缩…

单元测试:构建可靠软件的关键步骤

点击上方“程序猿技术大咖”,关注并选择“设为星标” 回复“加群”获取入群讨论资格! 引言: 在当今快节奏的软件开发环境中,构建可靠的软件是至关重要的。单元测试作为软件开发过程中的关键步骤之一,能够帮助开发者发现…

006、体系结构之TiKV读取和Coprocessor

TiKV读取和Coprocessor 1、数据的读取1.1、ReadIndex Read1.2、Follower Read 协同处理器(Coprocessor) 1、数据的读取 1.1、ReadIndex Read 例如此时要读取 key 1 的内容,它不能直接去kv中读取,因为它是分布式的,它经过TiDB Server 收到读…

认识ASP.NET MVC的5种AuthorizationFilter

一、IAuthorizationFilter 所有的AuthorizationFilter实现了接口IAuthorizationFilter。如下面的代码片断所示,IAuthorizationFilter定义了一个OnAuthorization方法用于实现授权的操作。作为该方法的参数filterContext是一个表示授权上下文的AuthorizationContext对…

机器学习笔记 - 基于深度学习的多种目标跟踪检测框架简述

一、 目标跟踪 对象跟踪是执行一组初始对象检测的任务,为每个初始检测创建唯一的 ID,然后在每个对象在视频中的帧中移动时跟踪它们,从而维护 ID 分配。最先进的方法涉及融合来自RGB和基于事件的相机的数据,以产生更可靠的对象跟踪。仅使用RGB图像作为输入的基于CNN的模型也…

【JUC基础】17. 并发编程常见问题

目录 1、前言 2、上下文切换问题 2.1、什么是上下文切换 2.2、上下文切换过程 2.3、上下文切换的原因 2.4、上下文切换的开销和影响 2.5、注意事项和改进策略 3、死锁问题 3.1、什么是死锁 3.2、死锁示例 3.3、改进策略 4、竞态条件 5、内存可见性 6、小结 1、前言…

Hinton:我对“青蛙”创造出“人”这件事的后果很紧张丨全文整理+视频

假如青蛙创造了人,那现在是青蛙控制人类,还是人类控制青蛙?我不知道如何防止这种情况发生。我老了,希望像你们这样年轻而才华横溢的研究人员弄清楚如何拥有这些超级智能,并使我们的生活在不受超级智能控制的情况下变得…

Servlet+jsp+Layui图书管理系统

项目介绍 介绍 使用到了jsp,servlet,Mysql,Java,layui。 大致功能 关于用户: 登录,申请注册,查看搜索图书,查看有关用户的借阅记录,丢失记录,预借记录。对…