首页 > 系统相关 >大页内存统计

大页内存统计

时间:2024-09-27 20:34:13浏览次数:5  
标签:HUGE 大页 PROCESS PID 内存 KEYWORDS TOTAL PAGE 统计

#!/bin/bash  

# 大页内存大小(单位 kB)
HUGE_PAGE_SIZE=1048576  # 1048576KB=1024MB=1GB
# 系统所有进程总HUGE_PAGE
TOTAL_HUGE_PAGE_SIZE=0
#KEYWORDS=Kernel
KEYWORDS=Hugetlb

for PID in /proc/[0-9]*; do  
  PID=${PID##*/}
  # 单个进程总HUGE_PAGE
  PROCESS_HUGE_PAGE_TOTAL=0  
  PROCESS_HUGE_PAGE_INFO=$(cat /proc/${PID}/smaps | grep -v " 0 kB" | grep ${KEYWORDS})

  while read line; do
	# 占用HUGE_PAGE
	PROCESS_HUGE_PAGE_USED=$(echo "$line" | awk '{print $2}')
	PROCESS_HUGE_PAGE_TOTAL=$((PROCESS_HUGE_PAGE_TOTAL + PROCESS_HUGE_PAGE_USED))
  done <<<$PROCESS_HUGE_PAGE_INFO 

  if [[ $PROCESS_HUGE_PAGE_TOTAL -gt 0 ]]; then  
    echo "PID ${PID} is using $PROCESS_HUGE_PAGE_TOTAL kB HugePages."  
	TOTAL_HUGE_PAGE_SIZE=$((TOTAL_HUGE_PAGE_SIZE + PROCESS_HUGE_PAGE_TOTAL))  
  fi
done

echo "Total HugePages used by all processes: $TOTAL_HUGE_PAGE_SIZE kB"

标签:HUGE,大页,PROCESS,PID,内存,KEYWORDS,TOTAL,PAGE,统计
From: https://www.cnblogs.com/wanghongwei-dev/p/18436505

相关文章

  • 深度剖析数据在内存中的存储~
    今天给小伙伴们分享的是数据在内存中存储的相关知识,全程干货满满哦~一.基本类型的介绍在C语言中,基本内置类型及其通常的内存大小如下。但请注意,实际的大小取决于编译器和正在运行程序的系统的架构(32位或64位)。整数类型:int:通常为4字节,但有时在某些系统上可能是2字节......
  • oracle数据库内存分配方案
    查询当前参数设置SQL>showparametersgaSQL>showparameterpgaSQL>showparametermemory参数说明sga_target期望的sga大小sga_max_size最大sga大小pga_aggregate_target期望的pga大小pga_aggregate_limit最大pga大小设置原则sga_target不能大于sga_max_si......
  • PARTIV-Oracle数据库存储结构-内存架构
    14.内存架构14.1.Oracle是数据库内存结构简介当实例启动时,Oracle数据库会分配一个内存区域并启动后台进程。这个内存区域存储以下信息:程序代码每个已连接会话的信息,即使它当前未活跃程序执行期间需要的信息,例如,正在从中提取行的查询的当前状态锁数据等在进程间共享和通信......
  • GaussDB内存过载分析
    问题现象数据库进程内存占比较高长时间占比较高观察监控平台内存占用的变化曲线,无论当前数据库是否有业务在运行,数据库进程内存占总机器内存的比例长时间处于较高状态,且不下降。执行作业期间占比较高数据库进程在没有业务执行时,内存使用持续处于较低的状态,当有业务执行时,内......
  • Java中多态的内存
    一、内存分配区域Java内存主要分为栈区、堆区、方法区等区域。1.栈区:栈区是Java内存管理中的一个关键区域,它主要用于存储局部变量和方法的执行环境(也称为栈帧)。每个线程在JVM中都有一个私有的栈,用于存储该线程中方法调用的上下文信息。栈区内存主要存放的数据有:局部变量表、......
  • 在 ArkTS 中,如何有效地进行内存管理和避免内存泄漏?
    ArkTS是鸿蒙生态的应用开发语言,它在TypeScript的基础上进行了优化和定制,以适应鸿蒙系统的需求。以下是在ArkTS中进行有效的内存管理和避免内存泄漏:1.使用const和let合理声明变量:使用const声明那些不会重新赋值的变量,这有助于确保变量的不变性,并可能让编译器进行更......
  • C++_读取配置文件以及内存方式
    开发范式输入和输出程序员的另一部分时间是用在获取需求输入上基本上普通开发者都是业务逻辑翻译员,传统开发的最重要的事情就是要理解客户的需求,把需求翻译成计算机系统的流程和逻辑AI开发是基于大模型的开在AI时代从翻译业务逻辑的程序员转变为能调教大模......
  • 动态内存管理
    目录1.为什么会有动态内存管理2.malloc和free2.1  malloc2.2  free3.calloc和realloc3.1  calloc3.2  realloc4.常见的动态内存的错误                                     ......
  • 视频压缩工具哪个好?没有充足内存的朋友用这几个工具就对了
    是不是每次录完视频,看着那惊人的文件大小就头疼不已?想发朋友圈又怕占内存的朋友快看过来吧~我有办法能让视频既拥有小巧体积又维持清晰画质——借助高质量的视频压缩手机app和软件就可以啦!今天我就来好好向大家安利几款配备智能压缩算法的优质工具,相信它们超强的实力能够帮你......
  • 浮点数在内存中的存储
    引入        首先来看一下以下这段代码:intmain(){ intn=1; float*pf=(float*)&n; printf("%d\n",n); printf("%f\n",*pf); *pf=1.0; printf("%d\n",n); printf("%f\n",*pf); return0;}        这里大多数人可能会......