查看进程内存真实占用情况的脚本

S/4中的16种特殊库存类型 阅读详情

#!/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

K-近邻算法: k-nearest neighbor classification (kNN) 详细介绍 @创建于:2020.04.09 @修改于:2020.04.09,2024.06.22 文章目录1、kNN介绍2、k近邻法的三要素详解2.1 距离度量2.2 k值的选择2.3 分类决策规则3、k近邻法的实现:kd树4、Python实现过程5、优缺点6、常见问题 1、kNN介绍 kNN是一个基本而简单的分类算法,作为监督学习,那么KNN模型需要的是有标签的训练数据,对于新样本的类别由与新样本距离最近的k个训练样本点按照分类... 阅读详情

相关推荐

OpenFoam实用技巧——starccm网格高效转换openfoam格式全解析

本文详细解析了如何利用OpenFOAM官方工具`ccm26toFoam`,将STAR-CCM+生成的高质量网格高效、稳定地转换为OpenFOAM格式。内容涵盖从STAR-CCM+正确导出网格、执行转换命令、解读转换日志,到转换后关键的边界条件修复与网格质量检查等全流程,旨在帮助用户规避常见错误,实现无缝工作流衔接。

weixin_28309571的博客 457

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

shenhuxi_yu的专栏 1264

SAP SD 顾问面试问题 consultant interview questionnaire

以下是我个人目前面试团队 SD顾问问题的小结,希望对大家有所帮助, 也可能有回答错误的地方,希望同行不吝赐教。 也希望各位顾问们讲你们遇到的一些面试问题做个跟贴,方便大家共同进步,谢谢。   面试问题清单:  一、销售订单类型影响: 可用性检查,交货类型,输出,信贷,定价,需求,报表,合作伙伴,文本,不完整日志,交货开票,订单开票,公司间开票,统计组,屏幕顺序组,参数文件...

weixin_33825683的博客 1809

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

teaczjf的博客 4643

EGE基础入门篇(一):绘图基础知识

EGE绘图所需要了解的相关基础知识

依稀_yixy的博客 2万+

解构LOL数值平衡:从基础公式到实战决策的深层逻辑

本文深入解析了《英雄联盟》数值平衡的底层逻辑,从基础攻击力公式到经济系统设计,揭示了MOBA游戏背后的精密数学架构。通过实战案例展示护甲减伤、技能伤害建模等核心机制,探讨装备定价与战斗节奏的数值关联,帮助玩家理解版本更新中的平衡艺术。

weixin_42540248的博客 347

开发中VSS、RSS、PSS、USS的区别

Android开发中VSS、RSS、PSS、USS的区别

luo_boke的博客 9206

尝试使用CubeMX做stm32开发之九:SYS配置

参考《STM32中文参考手册_V10》,研究CubeMX中有关SYS的配置

Forster-C的博客 9420

V8 内存管理

一、内存查看 console.log( '\n node分配到的总内存 rss: ' + mem.rss, '\n 堆内存 heapTotal: ' + mem.heapTotal, '\n 已使用的内存 heapUsed: ' + mem.heapUsed, '\n node中额外申请到的c++内存: ' + mem.external, '...

qq_28773159的博客 516

springboot 启动方式 装配流程 自定义starter 文件加载顺序 常见设计模式

springboot 启动方式 装配流程 自定义starter 文件加载顺序 常见设计模式

sv 937

把 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示例代码。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 207

深入解析Linux进程内存:VSS、RSS、PSS、USS及查看方式

VSS是虚拟耗用内存大小,是进程可以访问的所有虚拟内存的总量,包括进程独自占用的物理内存、和其他进程共享的内存、分配但未使用的内存。RSS是比例驻留内存大小,包括进程独自占用的物理内存、比例分配和其他进程共享的内存(共享库内存会均分到各个共享进程)。

mofei 1万+

Win10或Win11电脑找不到以太网网络适配器的解决方法

Win10或Win11电脑找不到以太网网络适配器的解决方法

Robot_PLC_HMI_Automation 654

linux查询进程占用真实内存,Shell脚本查看进程内存真实占用情况

#!/bin/bash#****************************************************************## ScriptName: pm# Author: osdba# Create Date: 2010-01-31# Modify Author:# Modify Date: 2010-01-31# Function: show processes...

weixin_35476604的博客 915

迈瑞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...

weixin_36272622的博客 984

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

mysql 查询内存消耗进程_查看进程内存真实占用情况的脚本

SRH_CLEAN:shared_clean,共享的干净内存页的大小,这里指代码页等共享的部分,而没有包括共享内存的部分;SWAP:指进程使用的swap空间的大小。PAGETABLE:指进程的虚拟地址和物理地址映射时pagetable的大小。所以对于oracle进程来说,一个进程占用内存的大小为:PRI_DIRTY+PRI_CLEAN+PAGETABLE,而SHR_CLEAN+SHR_DIRTY是...

weixin_32920055的博客 654

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

linux 真实内存 shell,Shell脚本查看进程内存真实占用情况

#!/bin/bash#****************************************************************## ScriptName: pm# Author: osdba# Create Date: 2010-01-31# Modify Author:# Modify Date: 2010-01-31# Function: show processes...

weixin_39605296的博客 156

docker mongo 查看内存_Docker查看应用的实际内存

前言 我们把应用部署到Docker里面之后,有什么办法查看这个应用占用了多少内存呢?docker本身提供了一个命令让我们可以直接看到当前时间所有容易占用的情况。docker stats --no-stream 从上面来看,这几个应用用的内存加起来已经是将近12G了。但是,这个时候看到机器使用的内存还不到2G。第一反应就是,docker 这个统计太离谱,太坑人了。查了一番资料过后,其实是计算的问题,...

weixin_30293523的博客 382

Linux机器怎么查看进程内存占用情况

场景推荐命令实时监控htop(首选)或top脚本/自动化查单个进程详情或系统整体内存free -h需要我帮你写一个一键找出内存异常进程的脚本吗?或者解释某个具体输出?欢迎继续问!😊从你提供的top输出来看,系统中运行了多个Java 进程和一个MySQL 进程,整体内存使用较高,但是否“正常”需结合物理内存总量和业务负载来判断。

qq_1342832900的博客 2054

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...

j99999999955555的博客 3619

centos7根据端口查进程_CentOS7.查看进程占用端口情况

linux下查看进程占用端口和端口占用进程命令Linux下查看进程占用端口: 查看程序对应进程号:ps–ef|grep进程名 REDHAT:查看进程号所占用的端口号:netstat–nltp|grep进程号 ubuntu:查看进程占用端 ...linux 下查看进程占用端口和端口号占用进程命令linux 下查看进程占用端口:(1)查看程序对应的进程号: ps -ef | grep 进程名...

weixin_39634576的博客 1863

Linux查看Java进程PID、端口号和内存占用脚本

原文地址【https://blog.csdn.net/CL_YD/article/details/79623297】 背景 正常情况下,一个jps -ml就可以查看机器上有多少Java进程以及它们的PID,如果还要看端口号,甚至内存占用,就还要配合netstat以及ps等查询,如果直接使用一个命令就能查出所有信息多好呀,那就试试吧。 查询PID Java自带的jps就很好用,不多说。 查询占...

gzxdale的博客 3605

linux中bash命令占用内存高,Linux实现脚本监测特定进程占用内存情况方法总结

1.Linux系统下,我们可以利用以下命令来获取特定进程的运行情况:1cat/proc/$PID/status其中PID是具体的进程号,这个命令打印出/proc/特定进程/status文件的内容,信息比较多,包含了物理内存/虚拟内存的使用状况,监控进程是否有内存泄露的问题,一般查看进程占用物理内存的情况:VmRSS: xxxkB可以采用grep命令过滤出我们需要的信息:1cat/proc/$P...

weixin_29443201的博客 1226

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...

weixin_30753697的博客 2156

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 进程运行用户...

weixin_39640849的博客 1875

linux跑循环脚本占内存,Linux下实现脚本监测特定进程占用内存情况

Linux系统下,我们可以利用以下命令来获取特定进程的运行情况:cat /proc/$PID/status其中PID是具体的进程号,这个命令打印出/proc/特定进程/status文件的内容,信息比较多,包含了物理内存/虚拟内存的使用状况,监控进程是否有内存泄露的问题,一般查看进程占用物理内存的情况:VmRSS: xxxkB可以采用grep命令过滤出我们需要的信息:cat /proc/$PID/s...

weixin_26849971的博客 434
上一篇: mysql导入txt数据
下一篇: 密码的恢复
guowake
博客等级 码龄19年 62粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值