操作系统和进程的资源消耗内存

9 篇文章 0 订阅
文章详细介绍了如何通过`free`和`top`命令查看Linux系统的内存使用情况,包括总内存、已用内存、可用内存等。同时,解析了`top`命令输出的各项指标,如进程ID、CPU使用率、内存使用比例等。还提到了`/proc/pid/statm`文件用于获取进程的内存占用信息。
摘要由CSDN通过智能技术生成

free -h 获取操作系统当前内存

  • Mem 行(第二行)是内存的使用情况。

  • Swap 行(第三行)是交换空间的使用情况。

  • total 列显示系统总的可用物理内存和交换空间大小。

  • used 列显示已经被使用的物理内存和交换空间。

  • free 列显示还有多少物理内存和交换空间可用使用。

  • shared 列显示被共享使用的物理内存大小。

  • buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。

  • available 列显示还可以被应用程序使用的物理内存大小。

https://blog.csdn.net/xp178171640/article/details/123634439

top

  • PID:进程id

  • USER:进程所有者

  • PR:进程的优先级,越小优先级越高

  • NI:nice值,负值表示高优先级,正值表示低优先级

  • VIRT:进程使用的虚拟内存,单位是kb

  • RES:进程使用的物理内存,单位kb

  • SHR:进程使用的共享内存,单位kb

  • S:进程状态(S表示休眠,R表示正在运行, Z表示僵死状态,N表示该进程优先值为负数,I表示空闲状态)

  • %CPU:进程占用的CPU使用率

  • %MEM:进程使用的物理内存和总内存的百分比

  • TIME+:进程使用的CPU时间总计,单位1/100秒

  • COMMAND:命令行

https://blog.csdn.net/weixin_40734030/article/details/125558689

VIRT:

1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据,以及malloc、new分配的堆空间和分配的栈空间等;

2、假如进程新申请10MB的内存,但实际只使用了1MB,那么它会增长10MB,而不是实际的1MB使用量。

RES:

1、进程当前使用的内存大小,包括使用中的malloc、new分配的堆空间和分配的栈空间,但不包括swap out量;

2、包含其他进程的共享;

3、如果申请10MB的内存,实际使用1MB,它只增长1MB;

获取进程的占用

/proc/[pid]/statm

size (1) total program size

(same as VmSize in /proc/[pid]/status)

resident (2) resident set size

(same as VmRSS in /proc/[pid]/status)

share (3) shared pages (i.e., backed by a file)

text (4) text (code)

lib (5) library (unused in Linux 2.6)

data (6) data + stack

dt (7) dirty pages (unused in Linux 2.6)

参数 解释 /proc/[pid]/status

Size (pages) 任务虚拟地址空间的大小 VmSize/4

Resident(pages) 应用程序正在使用的物理内存的大小 VmRSS/4

Shared(pages) 共享页数 0

Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4

Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib/4

Drs(pages) 程序数据段和用户态的栈的大小 (VmData+ VmStk )4

代码获取进程的消耗占用

snprintf(filename, sizeof(filename) - 1, "/proc/%d/statm", pid); char buf[256];

FILE *fd = fopen(filename, "r");

文件内容就是上面的,, size Resident Shared

https://blog.csdn.net/myw31415926/article/details/127643672

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值