linux 进程 内存使用监控

OpenClaw与大语言模型(Claude/GPT/MiniMax)的集成架构与最优配置策略 摘要 本文探讨了OpenClaw框架与大语言模型(Claude/GPT/MiniMax)的集成架构与优化策略。大语言模型具有强大的自然语言处理能力,但集成面临API成本、响应延迟、上下文管理等挑战。OpenClaw采用分层架构设计,包括用户界面层、对话管理层、提示工程层、模型适配层和API调用层,支持多模型切换、智能对话管理和成本控制。系统通过模型适配层实现不同API的统一调用,并提供缓存、监控等优化机制。该集成方案能够充分发挥大语言模型的优势,为本地AI助理提供更智能的服务。 阅读详情

使用shell脚本来监控进程的内存使用情况

#!/bin/bash

PROCESS=$1
LOG="/mnt/log/"
PFEX="_mem.log"
LOG_PATH=$LOG$PROCESS$PFEX
echo $LOG_PATH
sleep 10

if [ -f "$LOG_PATH" ];then
	rm "$LOG_PATH"
fi

PID=$(ps | grep $PROCESS | grep -v 'grep' | grep -v 'watch_mem.sh' | awk '{print $1;}')
echo $PID
while [ $PID != "" ]
do
	echo $PID
	pmap -d $PID | sed -n '/writeable/p' >> $LOG_PATH
	sleep 60
	PID=$(ps | grep $PROCESS | grep -v 'grep' | grep -v 'watch_mem.sh' | awk '{print $1;}')
done
	

这一句是根据进程名字来找出进程ID,因为监控内存使用是用进程ID来监控的

PID=$(ps | grep $PROCESS | grep -v 'grep' | awk '{print $1;}')

这里有两个命令需要讲解清楚

1. grep命令   grep全称是Global Regular Expression Print,表示全局正则表达式版本

    格式及主要参数
    grep [options]
    主要参数:  grep --help可查看
        -c:只输出匹配行的计数。
        -i:不区分大小写。
        -h:查询多文件时不显示文件名。
        -l:查询多文件时只输出包含匹配字符的文件名。
        -n:显示匹配行及 行号。
        -s:不显示不存在或无匹配文本的错误信息。
        -v:显示不包含匹配文本的所有行。
        --color=auto :可以将找到的关键词部分加上颜色的显示。
 

2. awk awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理

 

awk '{print $1;}'

按照空格切开,返回第一列信息

3. pmap 命令  report memory map of a process(查看进程的内存映像信息)

pmap -d $PID | sed -n '/writeable/p' >> $LOG

 

查看init进程

root@LBS:/tmp/rsys/bin# pmap -d 1
1:   init     
Address   Kbytes Mode  Offset           Device    Mapping
00008000     388 r-x-- 0000000000000000 000:00001 busybox
00071000       4 rw--- 0000000000061000 000:00001 busybox
00072000     140 rw--- 0000000000000000 000:00000   [ anon ]
2aaf4000     124 r-x-- 0000000000000000 000:00001 ld-2.11.1.so
2ab13000       4 rw--- 0000000000000000 000:00000   [ anon ]
2ab1a000       4 r---- 000000000001e000 000:00001 ld-2.11.1.so
2ab1b000       4 rw--- 000000000001f000 000:00001 ld-2.11.1.so
2ab26000       4 rw--- 0000000000000000 000:00000   [ anon ]
2ab93000       4 rw--- 0000000000000000 000:00000   [ anon ]
2ab98000      44 r-x-- 0000000000000000 000:00001 libgcc_s.so.1
2aba3000      28 ----- 000000000000b000 000:00001 libgcc_s.so.1
2abaa000       4 rw--- 000000000000a000 000:00001 libgcc_s.so.1
2abac000      44 r-x-- 0000000000000000 000:00001 libcrypt-2.11.1.so
2abb7000      28 ----- 000000000000b000 000:00001 libcrypt-2.11.1.so
2abbe000       4 r---- 000000000000a000 000:00001 libcrypt-2.11.1.so
2abbf000       4 rw--- 000000000000b000 000:00001 libcrypt-2.11.1.so
2abc0000     156 rw--- 0000000000000000 000:00000   [ anon ]
2abe7000     624 r-x-- 0000000000000000 000:00001 libm-2.11.1.so
2ac83000      28 ----- 000000000009c000 000:00001 libm-2.11.1.so
2ac8a000       4 r---- 000000000009b000 000:00001 libm-2.11.1.so
2ac8b000       4 rw--- 000000000009c000 000:00001 libm-2.11.1.so
2ac8c000    1252 r-x-- 0000000000000000 000:00001 libc-2.11.1.so
2adc5000      32 ----- 0000000000139000 000:00001 libc-2.11.1.so
2adcd000       8 r---- 0000000000139000 000:00001 libc-2.11.1.so
2adcf000       4 rw--- 000000000013b000 000:00001 libc-2.11.1.so
2add0000      12 rw--- 0000000000000000 000:00000   [ anon ]
7e9b9000     132 rw--- 0000000000000000 000:00000   [ stack ]
ffff0000       4 r-x-- 0000000000000000 000:00000   [ anon ]
mapped: 3092K    writeable/private: 476K    shared: 0K

最后一行

mapped 表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小,即ps出的vsz
writeable/private  表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小      
shared 表示进程和其他进程共享的内存大小

4. sed 命令 

 

sed -n '/writeable/p'

上面这条命令是选出 pmap -d 的最后一行信息

提示libfakeroot.so或libfakeroot-sysv.so出错处理方法 嵌入式Linux、Buildroot交叉编译出现fakeroot问题处理方法。 阅读详情

相关推荐

AutoCAD Plant 3D自定义零件库实战:手把手教你用Python创建参数化槽式三通

本文详细介绍了如何利用Python脚本在AutoCAD Plant 3D中创建参数化槽式三通组件,从API原理到实战开发,帮助用户构建高效的自定义零件库。通过Python装饰器系统控制零件属性和行为,实现几何建模、参数管理和规格编辑器集成,提升工业管道设计的标准化和效率。

weixin_28267011的博客 331

linux 内核调试

内核中有多项用于调试的功能,但这些功能会造成额外输出,并导致性能下降,因此发行版本厂商通过都禁止发行版内核中的这些功能。但作为一名内核开发者,调试需求具有更高的优先级,因此应该构造并安装自己的内核,并打开这些调试选项。 一、内核中的调试选项 CONFIG_DEBUG_

stephen_yin的专栏 2060

CST实战:变容二极管电容曲线提取全流程(附S参数设置技巧)

本文详细介绍了在CST Studio Suite中提取变容二极管电容-电压(C-V)曲线的完整实战流程。重点解析了S参数仿真的核心原理、DCFEED模块的正确配置、参数扫描的设置技巧,并探讨了集成SPICE模型进行精确仿真的方法,帮助射频工程师高效、准确地获取器件关键特性。

weixin_29237635的博客 529

bash脚本 检测内存占用率,如果超过阈值则终止某个正在运行的进程或脚本,然后重新启动进程

【代码】bash脚本 检测内存占用率,如果超过阈值则终止某个正在运行的进程或脚本,然后重新启动进程。

SingDanceRapBall的博客 758

zedboard(5)spi轮询和中断

一个SPI可以有几个从设备 在程序中使用 s32 XSpiPs_SetSlaveSelect(XSpiPs *InstancePtr, u8 SlaveSel) 选择。其实就是吧对应设备的ss拉低。 备注:只选一个ss,可以不用指定。(感觉,还没测试) 这是xspips.c中定义的函数,发送和接收有 XSpiPs_Transfer 和 XSpiPs_PolledTransfer 两个函数,分别采用中断和轮询模式。    一、轮询模式 米联客参考代码,SpiPs_Init中部分和官方例程流程一样,Spi

Kiss丶小坏 5889

linux的kp命令,Linux命令指南(二)

自动化监控与报警自动监控CPU,内存使用率安装wechatpy、cryptography模块import psutil, time, datetimeclass Monitor():cpu_data = []@classmethoddef mem(cls, mem_max=90):"""内存使用监控"""val = psutil.virtual_memory().percent# print(va...

weixin_31225753的博客 2085

西门子G120变频器在立体仓库堆垛机应用参数设置

本文详细介绍了G120 CU240E及CU250S变频器的参数设置流程。主要内容包括:1)快速调试步骤,从新建项目、扫描节点到设置电机类型、负载类型等参数;2)抱闸参数设置方法;3)参数下载异常时的处理方案。重点说明了通过STARTER软件进行向导式调试的完整过程,包括电机铭牌参数输入、识别方式选择等关键环节,并提示了通讯连接注意事项。当下载失败时,提供了通过导入导出项目文件解决问题的具体方法。

xdpcxq的专栏 863

进程的内存占用情况分析

我们都知道进程运行时,会有一个栈空间(stack)和一个堆空间(heap), 栈空间用于函数调用和局部变量,堆空间是C语言的 malloc 来分配的全局指针。这些都是进程的私有数据,除了这些,还有映射进来的动态库,进程间的共享内存等共享空间。另外,操作系统还支持预留虚拟地址空间的功能(延迟分配),也就是在读写该内存的时候,操作系统才进行物理内存的分配,因此进程占用的空间情况还是比较复杂的。下面简单地说明一下。 Linux VSZ:Virtual Memory Size(虚拟内存大小)。进程占用的全部地

般若程序蝉(prajna.top)的专栏 5173

windows exe爬虫:exe抓包

在不知情所拦截应用使用的流量时,所以建议用Wireshark。本文利用python代码,实现自动拦截,写入pcap包,并用代码分析流量的协议。这样会在本地目录下生成capture_inbound.pcap,可以用wireshark分析,也可以利用python代码进行分析,如果使用python代码进行分析,需要借助pyshark或者scapy。使用的python WinDivert的包,当然前提也是需要安装Wireshark软件,设置环境变量,并安装pydirvert包。

youbingchen的博客 616

34、实数域上高效负循环卷积算法解析

本文介绍了一种高效的实数域负循环卷积算法,通过引入离散傅里叶负循环变换(DFNT)避免传统方法的冗余,显著提升计算效率。文章详细分析了算法原理、误差传播机制,并推导出误差与方差界,提出无误差和基于3σ规则的参数设置方案。结合Cooley-Tukey与Gentleman-Sande FFT路径优化,实验验证了算法在不同精度和多项式长度下的性能优势与结果正确性,为密码学与信号处理等领域提供了高精度、高性能的卷积计算解决方案。

salt的博客 114

Linux 查看进程消耗内存情况总结

在Linux中,有很多命令或工具查看内存使用情况,今天我们来看看如何查看进程消耗、占用的内存情况,Linux的内存管理和相关概念要比Windows复杂一些。在此之前,我们需要了解一下Linux系统下面有关内存的专用名词和专业术语概念:  物理内存和虚拟内存  物理内存:就是系统硬件提供的内存大小,是真正的内存,一般叫做内存条。也叫随机存取存储器(random access memory,RAM...

u014066037的博客 8万+

【Python爬虫系列】_005.浏览器开发者工具(详解)

Elements(元素)分析当前页面节点,用来辅助书写BS或者XPath这里面的数据与源代码有区别,不一定准确(避坑)Console(控制台)这个除了查看错误信息、打印调试信息(console.log())、写一些测试脚本以外,还可以当作Javascript API查看用例如我想查看console都有哪些方法和属性,我可以直接在Console中输入"console"并执行后续学js逆向的时候需要用到Sources(源代码)与在网页页面,鼠标右键——查看网页源代码 内容一致。

weixin_50296259的博客 422

监控Linux/Windows服务器CPU、内存使用率TOP5的服务进程

监控Linux/Windows服务器CPU、内存使用率TOP5的服务进程

平平无奇,不断学习的运维玖玖 916

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SAP B1中文培訓教材_SDK

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

Linux命令进程实时监控(top)、进程静态查看(ps)、内存使用查看(free)

摘要:本文介绍了Linux系统监控的三个核心命令:top、ps和free。top用于实时监控系统资源和进程,支持自定义刷新间隔和进程筛选;ps静态查看进程状态,常用组合ps aux | grep 进程名快速定位进程;free查看内存使用情况,推荐使用-h选项人性化显示单位。这些命令是排查系统性能问题的基础工具,掌握其核心用法可快速诊断CPU、内存和进程问题。

learnstyle的博客 1092

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

stopped状态的进程 top 命令_Linux监控cpu以及内存使用情况之top命令(详解)

概述:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用...

weixin_35940949的博客 487

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

java 监控linux服务器cpu使用率、内存使用率、磁盘使用率、java进程是否存活等服务

java 监控linux服务器cpu、内存、java进程是否存活,发现异常发送邮件提醒 前一段时间在维护一个N年前的项目,这个项目十几个服务器,每个服务器上有十几个服务。接手后的几个星期天天有事,要不就是服务挂了导致没有数据,要不就是把服务器跑宕机了。因为是老项目,所以不敢有大的动作,只能写一个简单的检测程序,检测一下服务器状态,cpu使用率,磁盘使用率,进程是否存在。程序不复杂,但是解放了自己。现在把这个小工具整理一下分享出来,希望可以帮到有需要的人。 我使用的是qq的发送邮箱,首先要开启QQ邮箱需获取相

qq_28067781的博客 4885

Python后台进程内存使用情况监控-Windows/Linux

python后台进程监控

yige_er的博客 903

linux查看线程使用内存,linux查看进程内存使用情况,以及将线程情况输出文件...

用jmap把进程内存使用情况dump到文件中,再用jhat分析查看。jmap进行dump命令格式如下:jmap-dump:format=b,file=/tmp/dump.dat21711 -------->进程idjhat-port 10099 /tmp/dump.dat运行在10099端口然后浏览器加端口号浏览器访问将线程信息Jstack -l PID >> 123.t...

weixin_39917437的博客 5697

Java面试必备:如何在Linux系统中查看某个特定进程的内存使用情况

在Linux系统管理和性能优化中,监控进程的内存使用情况是一项基本而重要的任务。本文将介绍几种常用的方法来查看特定进程的内存使用情况,并提供相应的Java代码示例。

qq_58299462的博客 1327

linux 进程 监控,pidstat - 监控并统计Linux进程的数据

pidstat命令用来监控被Linux内核管理的独立任务(进程)。它输出每个受内核管理的任务的相关信息。pidstat命令也可以用来监控特定进程的子进程。间隔参数用于指定每次报告间的时间间隔。它的值为0(或者没有参数)说明进程的统计数据的时间是从系统启动开始计算的。如何安装pidstatpidstat 是sysstat软件套件的一部分,sysstat包含很多监控linux系统状态的工具,它能够从大...

weixin_42640676的博客 418

Linux 进程之如何查看进程详情?

点击上方“五分钟学算法”,选择“星标”公众号 重磅干货,第一时间送达 来自:掘金 作者:RunFromHere 链接:https://juejin.im/post/5bf9213ce51d452237153c5c 1、ps是什么? 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进...

墨鱼菜鸡 2102

Linux进程监控管理

新手必看Linux进程监控管理

weixin_64081179的博客 810

linux怎么监控特定进程,Shell脚本实现监视指定进程的运行状态

在之前的博客中,曾经写了自动化测试程序的实现方法,现在开发者需要知道被测试的进程(在此指运行在LINUX上的主进程的)在异常退出之前的进程的运行状态,例如内存的使用率、CPU的使用率等。现用shell脚本实现指定进程的运行状态。直接上代码。#!/bin/shecho "`date`"echo "Start $0---------"echo ""#每十秒监视一下sec=10#取得指定进程名为main...

weixin_31727937的博客 759

Linux下如何查看哪个进程占用内存多?

1、top   top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器   可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:   $ top -u oracle   内容解释:   PID:进程的ID   USER:进程所有者   PR:进程的优先级别,越小越优先被执行   NInice:值   VIRT:进程占用的虚拟内存   RES:

weixin_36815898的博客 2548

linux内存使用情况告警,linux服务器内存、根目录使用率、某进程的监控告警脚本...

#!/bin/bash#磁盘超过百分之80发送邮件告警DISK_USED=`df -T |sed -n "2p" |awk '{print ($4/$3)*100}'`DISK_percentage=80if [ `expr "$DISK_USED > $DISK_percentage"` ]thenecho "$HOSTNAME服务器当前硬盘使用率为$DISK_USED%" | mail ...

weixin_33304777的博客 771
上一篇: python + opencv 第六节 图像的基本操作
下一篇: python 给实例和类绑定属性和方法
qiukapi
博客等级 码龄12年 51粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值