#!/bin/bash
#****************************************************************#
# ScriptName: pm
# Author: osdba
# Create Date: 2010-01-31
# Modify Author:
# Modify Date: 2010-01-31
# Function: show processes memory used
#***************************************************************#
function getpidmem()
{
cat /proc/$1/smaps 2>/dev/null |awk /
'BEGIN{
total_size=0;
total_rss=0;
total_shared_clean=0;
total_shared_dirty=0;
total_private_clean=0;
total_private_dirty=0;
total_swap=0;
mem_size=0;
mem_rss=0;
mem_shared_clean=0;
mem_shared_dirty=0;
mem_private_clean=0;
mem_private_dirty=0;
mem_swap=0;
}
{
if($1 ~ /^Size:/)
{
mem_size=$2;
}
else if($1 ~ /^Rss:/)
{
mem_rss=$2;
}
else if($1 ~ /^Shared_Clean:/)
{
mem_shared_clean=$2;
}
else if($1 ~ /^Shared_Dirty:/)
{
mem_shared_dirty=$2;
}
else if($1 ~ /^Private_Clean:/)
{
mem_private_clean=$2;
}
else if($1 ~ /^Private_Dirty:/)
{
mem_private_dirty=$2;
}
else if($1 ~ /^Swap:/)
{
mem_swap=$2;
}
else
{
if(ipcmem_start==1)
{
ipc_size=mem_size;
ipc_rss=mem_rss;
ipc_shared_clean=mem_shared_clean;
ipc_shared_dirty=mem_shared_dirty;
ipc_private_clean=mem_private_clean;
ipc_private_dirty=mem_private_dirty;
ipc_swap=mem_swap;
}
else
{
total_size=total_size+mem_size;
total_rss=total_rss+mem_rss;
total_shared_clean=total_shared_clean+mem_shared_clean;
total_shared_dirty=total_shared_dirty+mem_shared_dirty;
total_private_clean=total_private_clean+mem_private_clean;
total_private_dirty=total_private_dirty+mem_private_dirty;
total_swap=total_swap+mem_swap;
};
if($6 ~ /^//SYSV/)
{
ipcmem_start=1;
}
else
{
ipcmem_start=0;
};
};
}
END{
printf("%15d %15d %15d %15d %15d %15d/n",total_rss,total_private_clean,total_private_dirty,total_shared_clean,total_shared_dirty,total_swap);
}
'
}
function show_all_process_mem()
{
TMPFILE=`/bin/mktemp -q`
echo " pid RSS(KB) PRIV_DIRTY PRIV_CLEAN SHR_DIRTY SHR_CLEAN SWAP PAGETABLE CMDLINE"
echo "--------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------------"
ls -ld /proc/[0-9]* |awk '{printf("%s/n",$NF)}' > $TMPFILE
while read LINE
do
PID=`basename $LINE`
cmdline=`ps -o command -p $PID |tail -1 |cut -b 1-26`
pagetablesize=`cat /proc/$PID/status |grep "VmPTE:"|awk '{print $2}'`
if [ "$pagetablesize" = "" ] ; then
pagetablesize=0
fi
meminfoline=`getpidmem $PID`
rss=`echo $meminfoline |awk '{print $1}'`
private_clean=`echo $meminfoline |awk '{print $2}'`
private_dirty=`echo $meminfoline |awk '{print $3}'`
shared_dirty=`echo $meminfoline |awk '{print $4}'`
shared_clean=`echo $meminfoline |awk '{print $5}'`
swap=`echo $meminfoline |awk '{print $6}'`
total_rss=$((total_rss+rss))
total_private_clean=$((total_private_clean+private_clean))
total_private_dirty=$((total_private_dirty+private_dirty))
total_shared_dirty=$((total_shared_dirty+shared_dirty))
total_shared_clean=$((total_rss+shared_clean))
total_swap=$((total_swap+swap))
total_pagetablesize=$((total_pagetablesize+pagetablesize))
if [ "$1" = "-a" ] ;then
echo $PID $meminfoline "$pagetablesize" "$cmdline"|awk /
'{
printf("%9d %10d %10d %10d %10d %10d %10d %10d %-26s/n",$1,$2,$3,$4,$5,$6,$7,$8,$9);
}'
fi
done <$TMPFILE
/bin/rm $TMPFILE
echo $total_rss $total_private_clean $total_private_dirty $total_shared_dirty $total_shared_clean $total_swap $total_pagetablesize |awk /
'{
printf(" ALL %10d %10d %10d %10d %10d %10d %10d/n",$1,$2,$3,$4,$5,$6,$7);
}'
}
function print_usage()
{
echo "usage:"
echo " pm.sh -a : display all process memory info"
echo " pm.sh -s : display total memory info"
echo " pm.sh -p <pid> : display pid memory info"
}
total_rss=0
total_private_clean=0
total_private_dirty=0
total_shared_dirty=0
total_shared_clean=0
total_swap=0
total_pagetablesize=0
if [ $# -lt 1 ];then
print_usage;
exit 1
fi
if [ "$1" = "-a" ];then
show_all_process_mem $1;
exit 0
fi
if [ "$1" = "-s" ];then
show_all_process_mem $1;
exit 0
fi
if [ "$1" = "-p" ];then
if [ $# -ne 2 ];then
print_usage;
exit 1
fi
meminfoline=`getpidmem $2`
cmdline=`ps -o command -p $2 |tail -1 |cut -b 1-26`
pagetablesize=`cat /proc/$2/status |grep "VmPTE:"|awk '{print $2}'`
if [ "$pagetablesize" = "" ]; then
pagetablesize=0
fi
echo " pid RSS(KB) PRIV_DIRTY PRIV_CLEAN SHR_DIRTY SHR_CLEAN SWAP PAGETABLE CMDLINE"
echo "--------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------------"
echo $2 $meminfoline "$pagetablesize" "$cmdline"|awk /
'{
printf("%9d %10d %10d %10d %10d %10d %10d %10d %-26s/n",$1,$2,$3,$4,$5,$6,$7,$8,$9);
}'
exit 0
fi
相关推荐
OpenFoam实用技巧——starccm网格高效转换openfoam格式全解析
本文详细解析了如何利用OpenFOAM官方工具`ccm26toFoam`,将STAR-CCM+生成的高质量网格高效、稳定地转换为OpenFOAM格式。内容涵盖从STAR-CCM+正确导出网格、执行转换命令、解读转换日志,到转换后关键的边界条件修复与网格质量检查等全流程,旨在帮助用户规避常见错误,实现无缝工作流衔接。
linux task mem rss 解释
RSS is the Resident Set Size and is used to show how much memory is allocated to that process and is in RAM. It does not include memory that is swapped out. It does include memory from shared libraries as long as the pages from those libraries are actually
SAP SD 顾问面试问题 consultant interview questionnaire
以下是我个人目前面试团队 SD顾问问题的小结,希望对大家有所帮助, 也可能有回答错误的地方,希望同行不吝赐教。 也希望各位顾问们讲你们遇到的一些面试问题做个跟贴,方便大家共同进步,谢谢。 面试问题清单: 一、销售订单类型影响: 可用性检查,交货类型,输出,信贷,定价,需求,报表,合作伙伴,文本,不完整日志,交货开票,订单开票,公司间开票,统计组,屏幕顺序组,参数文件...
Linux 内存管理中的 RSS 、VSZ等的含义
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 133310 0.3 0.3 1562108 28740 pts/2 Sl+ 18:06 0:00 VSZ:虚拟内存占用大小,单位:kb(killobytes) RSS:实际内存占用大小,单位:kb(killobytes) %CPU:进程占用CPU百分比 %MEM:进程占用内存百分比 TTY:终端类型 STAT:进程状态 ST
EGE基础入门篇(一):绘图基础知识
EGE绘图所需要了解的相关基础知识
解构LOL数值平衡:从基础公式到实战决策的深层逻辑
本文深入解析了《英雄联盟》数值平衡的底层逻辑,从基础攻击力公式到经济系统设计,揭示了MOBA游戏背后的精密数学架构。通过实战案例展示护甲减伤、技能伤害建模等核心机制,探讨装备定价与战斗节奏的数值关联,帮助玩家理解版本更新中的平衡艺术。
开发中VSS、RSS、PSS、USS的区别
Android开发中VSS、RSS、PSS、USS的区别
尝试使用CubeMX做stm32开发之九:SYS配置
参考《STM32中文参考手册_V10》,研究CubeMX中有关SYS的配置
V8 内存管理
一、内存查看 console.log( '\n node分配到的总内存 rss: ' + mem.rss, '\n 堆内存 heapTotal: ' + mem.heapTotal, '\n 已使用的内存 heapUsed: ' + mem.heapUsed, '\n node中额外申请到的c++内存: ' + mem.external, '...
springboot 启动方式 装配流程 自定义starter 文件加载顺序 常见设计模式
springboot 启动方式 装配流程 自定义starter 文件加载顺序 常见设计模式
把 OData V4 服务真正发布出去:事务码 /IWFND/V4_ADMIN 在 SAP S/4HANA On-Premise 里的定位与用法
本文介绍了SAP S/4HANA中的事务码/IWFND/V4_ADMIN,这是SAP Gateway管理OData V4服务的关键工具。该事务码主要负责将后端注册的OData V4服务以服务组形式发布到前端,并维护系统别名路由、测试入口和日志跳转。与OData V2不同,V4采用服务组概念以支持跨服务导航,类似商场统一管理多个专柜。文章还通过实际案例说明,未发布服务组会导致BAS等工具无法发现OData V4服务,并提供了验证服务组状态的访问路径和ABAP示例代码。
深入解析Linux进程内存:VSS、RSS、PSS、USS及查看方式
VSS是虚拟耗用内存大小,是进程可以访问的所有虚拟内存的总量,包括进程独自占用的物理内存、和其他进程共享的内存、分配但未使用的内存。RSS是比例驻留内存大小,包括进程独自占用的物理内存、比例分配和其他进程共享的内存(共享库内存会均分到各个共享进程)。
Win10或Win11电脑找不到以太网网络适配器的解决方法
Win10或Win11电脑找不到以太网网络适配器的解决方法
linux查询进程占用真实内存,Shell脚本查看进程内存真实占用情况
#!/bin/bash#****************************************************************## ScriptName: pm# Author: osdba# Create Date: 2010-01-31# Modify Author:# Modify Date: 2010-01-31# Function: show processes...
迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)
迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
linux查看真实内存占用,Shell脚本查看进程内存真实占用情况
#!/bin/bash#****************************************************************## scriptname: pm# author: osdba# create date: 2010-01-31# modify author:# modify date: 2010-01-31# function: show processes...
怀旧版电脑GBC模拟器
再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。
mysql 查询内存消耗进程_查看进程内存真实占用情况的脚本
SRH_CLEAN:shared_clean,共享的干净内存页的大小,这里指代码页等共享的部分,而没有包括共享内存的部分;SWAP:指进程使用的swap空间的大小。PAGETABLE:指进程的虚拟地址和物理地址映射时pagetable的大小。所以对于oracle进程来说,一个进程占用内存的大小为:PRI_DIRTY+PRI_CLEAN+PAGETABLE,而SHR_CLEAN+SHR_DIRTY是...
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
linux 真实内存 shell,Shell脚本查看进程内存真实占用情况
#!/bin/bash#****************************************************************## ScriptName: pm# Author: osdba# Create Date: 2010-01-31# Modify Author:# Modify Date: 2010-01-31# Function: show processes...
docker mongo 查看内存_Docker查看应用的实际内存
前言 我们把应用部署到Docker里面之后,有什么办法查看这个应用占用了多少内存呢?docker本身提供了一个命令让我们可以直接看到当前时间所有容易占用的情况。docker stats --no-stream 从上面来看,这几个应用用的内存加起来已经是将近12G了。但是,这个时候看到机器使用的内存还不到2G。第一反应就是,docker 这个统计太离谱,太坑人了。查了一番资料过后,其实是计算的问题,...
Linux机器怎么查看进程内存占用情况
场景推荐命令实时监控htop(首选)或top脚本/自动化查单个进程详情或系统整体内存free -h需要我帮你写一个一键找出内存异常进程的脚本吗?或者解释某个具体输出?欢迎继续问!😊从你提供的top输出来看,系统中运行了多个Java 进程和一个MySQL 进程,整体内存使用较高,但是否“正常”需结合物理内存总量和业务负载来判断。
linux记录进程内存、cpu占用的shell脚本
pid=10582 //指定进程id interval=10 //时间间隔 filename= 'mem_cpu_record.txt'//记录文件名 while true do date "+%Y-%m-%d-%H:%M:%S" | tr '\n' ' ' >>$filename //记录时间 cat /proc/$pid/status |grep -e VmRSS | tr '\n' ' ' >>$fi...
centos7根据端口查进程_CentOS7.查看进程占用端口情况
linux下查看进程占用端口和端口占用进程命令Linux下查看进程占用端口: 查看程序对应进程号:ps–ef|grep进程名 REDHAT:查看进程号所占用的端口号:netstat–nltp|grep进程号 ubuntu:查看进程占用端 ...linux 下查看进程占用端口和端口号占用进程命令linux 下查看进程占用端口:(1)查看程序对应的进程号: ps -ef | grep 进程名...
Linux查看Java进程PID、端口号和内存占用脚本
原文地址【https://blog.csdn.net/CL_YD/article/details/79623297】 背景 正常情况下,一个jps -ml就可以查看机器上有多少Java进程以及它们的PID,如果还要看端口号,甚至内存占用,就还要配合netstat以及ps等查询,如果直接使用一个命令就能查出所有信息多好呀,那就试试吧。 查询PID Java自带的jps就很好用,不多说。 查询占...
linux中bash命令占用内存高,Linux实现脚本监测特定进程占用内存情况方法总结
1.Linux系统下,我们可以利用以下命令来获取特定进程的运行情况:1cat/proc/$PID/status其中PID是具体的进程号,这个命令打印出/proc/特定进程/status文件的内容,信息比较多,包含了物理内存/虚拟内存的使用状况,监控进程是否有内存泄露的问题,一般查看进程占用物理内存的情况:VmRSS: xxxkB可以采用grep命令过滤出我们需要的信息:1cat/proc/$P...
linux查看当前占用内存最多的进程,详解Linux如何查看当前占用CPU或内存最多的几个进程...
详解Linux如何查看当前占用CPU或内存最多的几个进程命令ps -aux | sort -k4nr | head -N命令详解:1、head:-N可以指定显示的行数,默认显示10行。2、ps:参数a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分。ps -aux的输出格式如下:USER PID %CPU %MEM VSZ RSS...
linux ps内存占用率,linux ps命令,查看某进程cpu和内存占用率情况, linux ps命令,查看进程cpu和内存占用率排序。 不指定...
背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况。一、 linux ps命令,查看某进程cpu和内存占用率情况[root@test vhost]# ps auxUSER PID%CPU%MEMVSZ RSS TTYSTATSTART TIME COMMAND解释:linux 下的ps命令USER 进程运行用户...
linux跑循环脚本占内存,Linux下实现脚本监测特定进程占用内存情况
Linux系统下,我们可以利用以下命令来获取特定进程的运行情况:cat /proc/$PID/status其中PID是具体的进程号,这个命令打印出/proc/特定进程/status文件的内容,信息比较多,包含了物理内存/虚拟内存的使用状况,监控进程是否有内存泄露的问题,一般查看进程占用物理内存的情况:VmRSS: xxxkB可以采用grep命令过滤出我们需要的信息:cat /proc/$PID/s...
457



被折叠的 条评论
为什么被折叠?



