vim memory_status.sh
#!/bin/bash #脚本解释器说明 MemTotal(){ awk '/^MemTotal/{print $2}' /proc/meminfo #打印/proc/meminfo文件中以MemTotal开头行的以空格分割的第二列元素的值,单位为kb
}
$1 #第一个位置参数,位置参数的值为相应函数名,则会调用相应函数
:wq!
chmod +x memory_status.sh
执行命令:
./memory_status.sh MemTotal 获取 /proc/meminfo 文件中 MemTotal 字段的值
全部内容
#!/bin/bash MemTotal(){ awk '/^MemTotal/{print $2}' /proc/meminfo } MemFree(){ awk '/^MemFree/{print $2}' /proc/meminfo } MemAvailable(){ awk '/^MemAvailable/{print $2}' /proc/meminfo } Buffers(){ awk '/^Buffers/{print $2}' /proc/meminfo } Cached(){ awk '/^Cached/{print $2}' /proc/meminfo } SwapCached(){ awk '/^SwapCached/{print $2}' /proc/meminfo } Active(){ awk '/^Active/{print $2}' /proc/meminfo } Inactive(){ awk '/^Inactive/{print $2}' /proc/meminfo } #Active(anon)(){ # awk '/^Active(anon)/{print $2}' /proc/meminfo #} # # #Inactive(anon)(){ # awk '/^Inactive(anon)/{print $2}' /proc/meminfo #} # # #Active(file)(){ # awk '/^Active(file)/{print $2}' /proc/meminfo #} # # #Inactive(file)(){ # awk '/^Inactive(file)/{print $2}' /proc/meminfo #} Unevictable(){ awk '/^Unevictable/{print $2}' /proc/meminfo } Mlocked(){ awk '/^Mlocked/{print $2}' /proc/meminfo } SwapTotal(){ awk '/^SwapTotal/{print $2}' /proc/meminfo } SwapFree(){ awk '/^SwapFree/{print $2}' /proc/meminfo } Dirty(){ awk '/^Dirty/{print $2}' /proc/meminfo } Writeback(){ awk '/^Writeback/{print $2}' /proc/meminfo } AnonPages(){ awk '/^AnonPages/{print $2}' /proc/meminfo } Mapped(){ awk '/^Mapped/{print $2}' /proc/meminfo } Shmem(){ awk '/^Shmem/{print $2}' /proc/meminfo } Slab(){ awk '/^Slab/{print $2}' /proc/meminfo } SReclaimable(){ awk '/^SReclaimable/{print $2}' /proc/meminfo } SUnreclaim(){ awk '/^SUnreclaim/{print $2}' /proc/meminfo } KernelStack(){ awk '/^KernelStack/{print $2}' /proc/meminfo } PageTables(){ awk '/^PageTables/{print $2}' /proc/meminfo } NFS_Unstable(){ awk '/^NFS_Unstable/{print $2}' /proc/meminfo } Bounce(){ awk '/^Bounce/{print $2}' /proc/meminfo } WritebackTmp(){ awk '/^WritebackTmp/{print $2}' /proc/meminfo } CommitLimit(){ awk '/^CommitLimit/{print $2}' /proc/meminfo } Committed_AS(){ awk '/^Committed_AS/{print $2}' /proc/meminfo } VmallocTotal(){ awk '/^VmallocTotal/{print $2}' /proc/meminfo } VmallocUsed(){ awk '/^VmallocUsed/{print $2}' /proc/meminfo } VmallocChunk(){ awk '/^VmallocChunk/{print $2}' /proc/meminfo } HardwareCorrupted(){ awk '/^HardwareCorrupted/{print $2}' /proc/meminfo } AnonHugePages(){ awk '/^AnonHugePages/{print $2}' /proc/meminfo } CmaTotal(){ awk '/^CmaTotal/{print $2}' /proc/meminfo } CmaFree(){ awk '/^CmaFree/{print $2}' /proc/meminfo } HugePages_Total(){ awk '/^HugePages_Total/{print $2}' /proc/meminfo } HugePages_Free(){ awk '/^HugePages_Free/{print $2}' /proc/meminfo } HugePages_Rsvd(){ awk '/^HugePages_Rsvd/{print $2}' /proc/meminfo } HugePages_Surp(){ awk '/^HugePages_Surp/{print $2}' /proc/meminfo } Hugepagesize(){ awk '/^Hugepagesize/{print $2}' /proc/meminfo } DirectMap4k(){ awk '/^DirectMap4k/{print $2}' /proc/meminfo } DirectMap2M(){ awk '/^DirectMap2M/{print $2}' /proc/meminfo } $1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构