linux 查看内存

linux 查看内存,第1张

4G物理内存,but 5242880k=5G。咋滴?

5242880 - 3860016 = 1382864

6886 + 1049032 + 333832 + 4545 + 1764 = 1396059

dmesg 可用提示 3860016k , free 提示3882068k

/proc/buddyinfo RHEL5

此文件主要用于诊断内存碎片问题。通过枝岩buddy算法,列值表示在任何给定时间内,可用的特定顺序猛宏御(特定大小)的页数。 (可用页,即空闲页)

计算方式:

32 bit :

64 bit:

上面的部分绝盯列出了空闲页的分布:

该部分是/proc/buddyinfo的明细,列出了空闲页的分布

下面的部分列出了总的页面分布:

Memory Type Range Registers (MTRRs)

Linux来说,好像没有这样变慢的感觉,shutdwon immediate 没有感觉有久肢羡枯了就慢。也许是因为上面都是oracle服务和历洞web服务,没有像Windows那样软件多多的,装了卸载,卸载了装,不过Linux电脑派洞都不关机。

Linux 在拿到一大块内存后(譬如是64MB内存),先将其看作是好多个连续排列的 4MB 内存。

那么如果程序请求1MB的内存,那么内存分配 *** 作逻辑如下:

这个算法就是所谓的 binary buddy 分配算法。

在 Linux 中,这个二分法最小分割到闷拦 4096 字节,也就是一个页的大小。

因此总共有 11 种大小,分别为 4KB,8KB,……4MB。

其中 4KB 为 order 0,4MB 为 order 10.

我们称其 max order 为 12,有些资料会提到这个概念。

以薯罩液上这些信息可以在 /proc/buddyinfo 上查看,其格式大概是这样:

buddy 在上面这种情况下,有些被分为小块内存,那么数物就会存在内存碎片的问题。

/proc/pagetypeinfo

以上 buddy 管理的是不小于4K 的内存分配,slab 则是管理小于4KB 的内存对象。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12530970.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存