linux 进程线程(ps、kill、pstree、netstat查看进程线程信息,top、free查看内存信息,buff/cache内存定时释放)

Linux进程管理与系统监控实战:从基础概念到性能排查 在操作系统和服务器运维领域,进程管理与系统资源监控是核心基础技能。进程作为系统工作的基本单元,是程序执行的实例,而服务则是以守护进程形式长期运行的后台任务,两者共同构成了系统运行的基础框架。理解其原理对于保障系统稳定性、进行故障排查和性能优化具有关键的技术价值。无论是Web服务器、数据库还是各类应用服务,其稳定运行都依赖于对进程生命周期的有效管理以及对CPU、内存、I/O和网络等系统资源的实时监控。掌握进程查看工具(如ps、top)、服务管理框架(如systemd)以及资源监控命令(如vmstat、iost 阅读详情


1. ps 查看当前系统进程状态

ps -aux | grep xxx		(功能描述:查看系统中所有进程)
ps -ef | grep xxx		(功能描述:可以查看子父进程之间的关系)

功能说明

(1)ps -aux(查进程使用内存和cpu时使用)

在这里插入图片描述

USER:该进程是由哪个用户产生的
PID:进程的ID号
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源
VSZ:该进程占用虚拟内存的大小,单位KB
RSS:该进程占用实际物理内存的大小,单位KB
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
START:该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名

(2)ps -ef(查进程对应的PID时使用)

在这里插入图片描述

UID:用户ID 
PID:进程ID 
PPID:父进程ID 
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高 
STIME:进程启动的时间 
TTY:完整的终端名称 
TIME:CPU时间 
CMD:启动进程所用的命令和参数

2. kill 终止进程

kill  [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称	  (功能描述:通过进程名称杀死进程,也支持通配符,在系统因负载过大而变得很慢时有用)	
选项功能
-9表示强迫进程立即停止

3. pstree 查看进程树

pstree [选项]
选项功能
-p显示进程的PID
-u显示进程的所属用户

在这里插入图片描述


4. top 查看系统健康状态

top [选项]	
选项功能
-d秒数 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令
-i使top不显示任何闲置或者僵死进程
-p通过指定监控进程ID来仅仅监控某个进程的状态

执行top命令后的操作:

操作功能
P以CPU使用率排序,默认就是此项
M以内存的使用率排序
N以PID排序
q退出top

在这里插入图片描述

5. netstat 显示网络统计信息和端口占用情况

netstat -anp | grep 进程号	(功能描述:查看该进程网络信息)
netstat –nlp | grep 端口号	(功能描述:查看网络端口号占用情况)
选项功能
-n拒绝显示别名,能显示数字的全部转化成数字
-l仅列出有在listen(监听)的服务状态
-p表示显示哪个进程在调用

如:
查看某端口号是否被占用

netstat -nlp |grep 6379

在这里插入图片描述


6. free用于显示内存状态

free [-bkmotV][-s <间隔秒数>]
-b  以Byte为单位显示内存使用情况
-k  以KB为单位显示内存使用情况
-m  以MB为单位显示内存使用情况
-h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值
-o  不显示缓冲区调节列
-s <间隔秒数>  持续观察内存使用状况
-t  显示内存总和列
-V  显示版本信息

如:

free -s 10 -h

在这里插入图片描述

注:

定时释放buff/cache内存

  linux系统中,写入磁盘时,先保存到磁盘缓冲区(buffer),然后再写入到磁盘;读磁盘时,数据从磁盘读出后,暂留在缓冲区(cache)。当应用程序需要内存时,如果没有足够的 free 内存可以用,内核就会从 buffer 和 cache 中回收内存来满足应用程序的请求。

(1)若buff/cache过大导致内存不足,可手动释放

echo 3 > /proc/sys/vm/drop_caches
0:是系统默认值,默认情况下表示不释放内存,由操作系统自动管理
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存

不能执行echo 0 > /proc/sys/vm/drop_caches ,否则报错echo: 写错误: 无效的参数
在这里插入图片描述

(2)对于需要定时释放buff/cache可通过crontab执行脚本

在这里插入图片描述

Linux服务器健康诊断三板斧:top、netstat、du实战指南 在Linux系统运维中,资源监控与故障定位是保障服务稳定的核心能力。理解CPU、内存、网络连接和磁盘空间四大基础资源的消耗原理,是高效诊断的前提;掌握`top`实时追踪进程行为、`netstat`解析TCP连接状态、`du`精准测绘磁盘占用这三大原生工具的协同逻辑,能显著提升问题收敛效率;其技术价值在于无需依赖第三方监控平台,即可完成从告警响应到根因定位的闭环排查;广泛应用于Web服务异常、数据库响应迟缓、日志爆满等高频生产场景;本文聚焦`top`、`netstat`、`du`在真实故障中的分层穿透式用法, 阅读详情

相关推荐

Linux运维进阶:从命令使用到系统原理的深度解析

在实际 Linux 运维、开发和日常管理中,命令行的熟练程度直接决定了工作效率和问题排查的深度。很多开发者能记住 ls 、 cd 、 ps 等常用命令,但遇到复杂场景,比如需要分析系统瓶颈、追踪进程行为、或者理解命令背后的文件系统和内核机制时,往往感到无从下手。这通常是因为对命令的理解停留在“使用”层面,缺乏对“原理”的探究。本文旨在打破这种割裂,围绕 Linux 核心命令,不仅告诉你“怎么用”,更深入解释“为什么这样用”以及“背后发生了什么”。我们将从系统信息探查、进程管理、文件操作、网络工具等几个核心领

cique2620的博客 397

Tomcat线程实践

请注意,以上方法都需要对Tomcat实例有一定的访问权限。另外,如果您的Tomcat实例配置了多个连接器,则需要相应地更改命令中的端口号。jstat命令可以用于监视Java虚拟机(JVM)统计信息。是采样间隔(以毫秒为单位)。此命令将返回包括活动连接数在内的多个JVM统计信息。是Tomcat进程的PID。

michael_linux的博客,一个小小小学生。滴水穿石,步步为营,只为那刹那芳华。 3421

Linux核心命令实战指南:从系统监控到性能排查的运维必备技能

Linux 是服务器、云计算、容器化乃至嵌入式开发领域的基石,绝大多数服务器默认不提供图形界面,这意味着命令行是管理员与系统交互的唯一窗口。无论你是运维工程师、后端开发者,还是正在学习云计算的学生,掌握 Linux 核心命令是绕不开的硬技能。这篇文章不绕弯子,直接切入最常用、最核心的命令,目标是让你在最短时间内,建立起一套可立即上手的命令行操作体系。 本文的重点不是罗列几百个命令,而是聚焦于那些真正高频、实用、能解决实际问题的核心命令。我们会按照“系统监控”、“文件与磁盘”、“网络与服务”、“用户与权限”等

banglvfei0870的博客 478

Linux必会100个命令(八)ps、top、netstat

ps 、top、netstat 3.netstat

bigwood99的博客 4767

如何在Linux上查看活跃线程数和连接数?

在Linux服务器上监控线程和连接是非常重要的,可以帮助我们及时发现并解决系统问题。在本文中,我们介绍了如何使用top、ps、netstat和lsof等命令来查看活跃线程数和连接数。通过定期使用这些命令,我们可以了解系统的负载情况,以便对其进行优化和调整。

网络技术联盟站 2548

Linux进程命令四小龙:ps、netstat、top、kill,看一遍就会!

ps:显示进程信息netstat:显示端口信息top:动态监控进程信息kill:杀进程。

网络技术联盟站 711

Linux--4.进程的概念

进程 基本概念 课本概念:程序的一个执行实例,正在执行的程序等 内核观点:担当分配系统资源(CPU时间,内存)的实体 我们知道,我们在编译完程序之后会生成一个可执行文件,这个可执行文件会有两部分内容:内容+属性,当我们将这个文件运行起来,本质其实就是将其加载到了内存中,而程序文件加载到内存中,就变成了进程,而这个进程的组成也就变为了:对应的文件+进程属性 描述进程-PCB 进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合。 课本上称之为PCB(process c

平生的小铺子 425

Simulink与C/C++的无缝对接:自定义结构体变量导入实战指南

本文详细介绍了如何将C/C++自定义结构体导入Simulink环境,实现无缝数据对接。通过编写标准C头文件、配置MEX编译环境(如MinGW),并利用`Simulink.importExternalCTypes`函数,可将结构体转换为Simulink Bus对象,从而提升复杂系统模型的可读性、可维护性及仿真与代码生成效率。

weixin_29093017的博客 484

Linux面试必备:十个核心问题深度解析与实战排查指南

在Linux系统管理与运维领域,掌握核心概念和排查工具是工程师的基本功。理解系统负载、进程管理和文件系统等原理,是构建稳定高效服务的基础。这些知识不仅体现了技术深度,更直接转化为解决线上问题的能力,对于保障后端服务、云计算平台的性能与可靠性至关重要。本文聚焦于Linux系统管理中的高频实战场景,深入解析了包括系统负载分析、进程信息查看、文件查找、日志跟踪、磁盘与网络状态监控等在内的十个关键问题。通过结合ps、top、strace、lsof等核心工具链,以及/proc文件系统的运用,系统性地阐述了从现象定位到

weixin_33874713的博客 421

OSMDroid(1)——OSM简介,基础例子搭建

1.OSMDroid简介 Osmdroid是一款完全开源的地图基本操作SDK,相比于现在普遍使用的百度地图,高德地图,谷歌地图等最大的好处就是开源。 最近在做一个军方项目,要求完全不能联网,从开发到应用整个阶段都是在局域网进行,相比之下采用了OSMDroid这个SDK作为解决方案。 先来看OSMDroid,便是(OpenStreetMapForAndroid),后面都简称OSM...

robotskly的博客 6180

三菱MC协议(MC/TCP):避坑指南|C#实现三菱MC协议:软元件(X/Y/M/D)读写与帧格式解析

核心避坑逻辑:MC协议的坑80%集中在“PLC配置”“地址编码”“字节序”,先解决这三点,通信就成功了一半;实战优先级:新手优先用开源库(Mitsubishi.MCProtocol),避免手动拼接帧格式的复杂坑;进阶再研究帧格式解析;排坑技巧:先Ping通→用调试助手验证→写C#代码,分层排查,不要混在一起找问题。掌握这些避坑技巧后,你可以轻松实现C#与三菱全系列PLC的稳定通信,满足工业场景中数据采集、设备控制等核心需求。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 2199

Linux,常用命令,看这篇就够了

linux 常用命令大全

qq_48721706的博客 4万+

RK3568平台开发系列讲解(UBOOT篇)u-boot启动流程

U-Boot(Universal Bootloader)是一种开源的引导加载程序,广泛用于嵌入式系统中。它的主要功能是初始化硬件设备,加载操作系统内核,并将控制权交给操作系统。U-Boot的启动流程可以分为多个阶段,以下是典型的U-Boot启动流程:

内核笔记 1236

Linux核心命令深度解析:从原理到实战的系统管理指南

你是不是也遇到过这样的场景:服务器卡顿,想看看CPU和内存使用情况,却只会用 top 命令,面对满屏滚动的数字不知从何看起;或者想快速定位一个日志文件里的关键错误,却只会用 vi 打开然后一行行翻,效率极低;又或者,面试时被问到“ ps aux 和 ps -ef 有什么区别”、“ kill -9 为什么是危险的”,只能凭感觉回答,心里没底。 如果你有类似的困惑,那么这篇文章就是为你准备的。这不是一篇简单的命令大全罗列,市面上那种“Linux命令100条”的文章已经够多了。本文的核心目标是: 带你从“会用”到

weixin_30765505的博客 370

51单片机计算器(源程序+流程图+答辩报告+综合设计)

保姆级讲解!C语言编程,使用51单片机及LCD1602显示屏实现!

m0_57007304的博客 2万+

检测头篇 | 手把手教你如何去更换YOLOv8的检测头为ASFF_Detect

自适应空间特征融合(ASFF)的主要原理旨在解决单次检测器中不同尺度特征的不一致性问题。具体来说,ASFF通过动态调整来自不同尺度特征金字塔层的特征贡献,确保每个检测对象的特征表示是一致且最优的。本文所做出的改进是将YOLOv8的检测头更换为ASFF_Detect。🌈

小哥谈 2500

Linux系统运维常用命令集锦

1、文件、目录操作命令(18个) ls 全拼为list,功能是列出目录的内容及其内容属性信息。 主要参数: -a:显示隐藏文件 -l:是以更详细的列表形式显示-S: 以下命令参数待不全: cd 全拼为change directory,功能是从当前工作目录切换到指定的工作目录。 cp 全拼为copy,功能为复制文件或目录。 find 查找,用于查找目录及目录下文件。 mkdir 全拼为make di...

企业实战系列集 ●●● https://ximenjianxue.blog.youkuaiyun.com 3万+

常用元器件使用方法13:物理层接口芯片DP83848的使用方法

介绍: DP83848是以太网物理层接口芯片,具有多种型号,从便于焊接角度考虑LQFP-48封装较为合适,采用LQFP-48封装的芯片,有2种型号,分别为DP83848I和DP83848C,如下图所示。 其主要区别是使用温度不同,如下图所示。 这2种芯片芯片网上均有销售,按理说DP83848C价格应该更加便宜,实际不然,DP83848I的价格低于DP83848C,考虑或与芯片的出货量...

snmplink的博客 1万+

Linux服务器挖矿病毒排查与清除实战:从pamdicks病毒到系统加固

在Linux服务器运维中,进程管理与系统安全是保障服务稳定性的核心基础。其原理在于操作系统通过进程调度分配CPU资源,而恶意软件常通过伪装进程、劫持系统调用等方式隐匿自身。掌握这些技术对于维护服务器健康、抵御资源滥用攻击具有关键价值,尤其在云计算与虚拟化普及的当下,服务器安全已成为运维人员的必备技能。典型的应用场景包括应对服务器CPU异常满载、响应迟缓等性能问题,这往往与挖矿病毒等恶意进程的入侵有关。本文以处理顽固的pamdicks挖矿病毒为例,深入剖析了从利用top、netstat等命令进行异常诊断,到清

weixin_30425949的博客 385

游戏大厂射击游戏无缝大世界游戏DS服务器架构设计方案详解

摘要: 本文深入解析游戏大厂无缝大世界射击游戏的分布式服务器(DS)架构设计方案。以《和平精英》《量子特攻》为例,阐述如何通过动态分区、兴趣管理、弹性扩缩等核心技术应对高并发、低延迟、无缝切换等挑战。架构分为世界协调层、分区计算层、物理判定层等模块,结合微服务化、快照同步和Kubernetes调度,实现玩家跨区无感知迁移与一致判定。重点优化动态负载均衡、状态同步算法及容灾备份,依托分布式数据库与多云部署保障高可用性,为同类游戏提供可扩展的技术范本。(149字) 关键词: 无缝大世界、分布式服务器、动态分区、

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 563

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Linux命令底层逻辑与22个核心命令实战指南

Linux命令不是孤立的工具,而是遵循Unix哲学(做一件事并做好、组合协作)的系统接口。其本质是进程对文件、权限、I/O流的精确控制,依赖执行上下文(用户身份、当前路径)和标准输入/输出机制。掌握管道(|)、重定向(>、2>&1)和信号机制,是实现自动化排查与精准诊断的技术基础。本文聚焦文件操作、权限管理、进程监控、网络诊断、日志分析等高频场景,深度解析ls、find、ps、top、grep、sed、awk、journalctl等22个易误用但决定排障效率的核心命令,覆盖从新手入门到生产环境问题定位的完整

weixin_30596735的博客 395

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Linux 查看进程和线程CPU和内存占用情况

(1)ps -p {pid} -T 可以得到该进程里面运行的各线程的id(表现出来是spid)、对应的线程名称(不超过16字符)、运行时间等;你可以把这个目录下的信息理解为Linux内核在执行你写的程序时所打印的Log。下,因此你可以通过查看这个目录下的信息来或者进程的运行时行为,这对于那些好奇内核是如何运行程序的同学是非常重要的。下记录了每个进程运行时的所有关键信息,那这些信息是谁来生成的呢,答案是Linux内核。Linux内核在执行你写的程序时,将所有关键信息写到了。

mayue_web的博客 8678

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

记录一下 ps命令找出线程占用cpu情况

有时候发现某个进程cpu占用特别高,这个进程里有1个以上的线程,这时候我们须要定位线程占用的cpu。 ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu 这个命令实际调试程序的时候非常有用,列出了进程id, 线程id和cpu占有率,同时按照cpu占有率排序。

daemonh 6287

查询所有进程及线程端口占用情况,并关闭某端口的方法

*

段子手168的博客 2334

网络多线程——netstat

netstat 指令 netstat -an:可以查看当前主机的网络情况,包括端口监听情况和网络连接情况 netstat -an | more:可以分页显示,按 空格键 以逐页显示 netstat -anb:使用管理员权限开启 dos 控制台,输入此指令可以查看每个端口被哪个应用所监听 说明: LISTENING 表示某个端口在监听 如果有一个外部程序(客户端)连接到该端口,就会显示一条连接信息 可以输入 ctrl + c 退出指令 ...

qq_43575044的博客 839

ps 命令查看进程下的线程及线程状态

查看java所有线程 ps –eLf | grep java 查看进程下的所有线程cpu利用率 top -H -p 25120 其中25120为Java进程号。 下图红色标注的地方为线程状态。其中总数为28,当前运行的线程为0,28个线程睡眠,没有终止的线程或僵尸线程。 树状图显示进程关系 pstree –p 1 ———————————————— 版权声明:本文为优快云博主「...

大JAVA解决方案 1315
上一篇: linux 压缩和解压(zip/unzip、tar)
下一篇: linux crontab服务管理,定时任务设置(编辑查询删除定时任务、编写脚本定时执行)
但行益事莫问前程
但行益事莫问前程 新星创作者: 数据库技术领域 新星创作者: 数据库技术领域
博客等级 码龄7年 8490粉丝 225原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

但行益事莫问前程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值