`

LINUX 真正的已用内存

阅读更多

linux 优先使用物理内存,当物理内存还有空闲时,linux是不会施放内存的,即时占用内存的程序已经被关闭了(这部分内存就用来做缓存了)。也就是说,即时你有2G的内存,用过一段时间后,也会被占满。这样做的好处是,启动那些刚开启过的程序、或是读取刚存取过得数据会比较快,对于服务器很有好处。

你可以用 free 指令查看一下输出,用 used 减去 buffer 和 cache,才是你运行中的程序所占用的空间,举例如下:

total     used    free shared buffers cached

Mem: 516300 504264   12036     0    88396 236792

-/+ buffers/cache: 179076 337224

Swap: 1544184 21276 1522908

504264 - 88396 - 236792 = 179076

也就是说目前正在被使用的内存只有 179 兆。不要被 504兆的used吓住了。

分享到:
评论

相关推荐

    linux C固定大小内存池

    3. 释放内存:释放内存时,将内存块放回内存池的空闲列表,而不是真正地释放到系统堆。 4. 销毁内存池:在程序结束时,如果不再需要内存池,可以调用销毁函数,将内存池的内存全部释放回系统。 三、多线程支持 在...

    Linux内存管理分析

    只有当其中一个进程尝试修改共享的内存页时,系统才会创建该页的副本,从而实现真正的私有化。这样,除非有必要,否则不会发生实际的内存复制,大大提高了内存的利用率和效率。 #### 五、总结 Linux内存管理是操作...

    Linux内存管理图形化的研究与实现.pdf

    但是这些目录和文件并不是真正的文件,它不占用磁盘空间,只是内存信息的一个映射。这些虚拟文件可以向用户呈现内核的一些信息,也可以用作一种向内核发送信息的手段。 Linux 内存管理的图形化系统可以为用户提供...

    Linux内核内存池实现研究

    当应用程序释放内存时,内存池不会真正释放这块内存,而是将其放回空闲列表,供后续的内存请求重用。这种方式避免了频繁调用系统调用带来的开销,提高了内存管理的效率。 #### 总结 本文详细介绍了Linux内核内存池...

    红黑树在Linux虚拟内存区域管理中的应用 (1).pdf

    在 Linux 中,每个用户进程都可以访问 4GB 的线性虚拟地址空间,为了能表达真正被进程使用的虚拟内存空间,Linux 定义了虚拟存储区域(Virtual Memory Area,VMA)。每个进程的虚拟地址空间可能包含多个虚拟存储区域...

    Linux操作系统的内存使用方法详细解析

    然而,有一个问题叫做内存空洞:如果堆顶的内存仍在使用,即使堆底有大量已释放的连续内存,这部分内存也无法被释放,因为它依赖于堆顶指针的下降。由于内核仅能通过调整堆顶指针来管理内存,因此只要堆顶不变,内存...

    linux进程的内存使用解析( 经典)

    只有当进程真正使用该内存时,内核才会分配相应的物理页面。 #### 二、Linux内存管理机制 Linux内存管理机制可以分为两层:线性区和物理页面。 - **线性区**:指的是虚拟内存的一部分,如文中提到的`00c73000-00c...

    Linux内存管理.pdf

    在程序申请内存时,Linux内核仅分配虚拟内存,而实际的物理内存分配则在程序真正使用时才进行,这就是所谓的延迟分配和请页机制。这种策略充分利用了程序的局部性原则,减少了不必要的内存占用,提高了系统效率。 ...

    Linux 内存杂记(01)1

    malloc()分配的内存只是虚拟内存,只有当程序真正访问这些区域时,操作系统才会为进程分配相应的物理内存,这是一种叫做"Lazy Load"的优化策略。 内存过度承诺(overcommit_memory)是Linux内存管理的另一个重要方面...

    linux可用内存足够为什么还用swap.docx

    这里需要注意的是,Linux系统中的“可用内存”(available)是一个更为综合的指标,它包括了真正意义上的空闲内存(free)加上部分buffer/cache可以快速释放出来的内存量。从上述数据可以看出,尽管buffer/cache占用...

    第六章Linux内存管理1

    Linux 内存管理的设计充分利用了计算机系统所提供的虚拟存储技术,真正实现了虚拟存储器管理。第二章介绍的 Intel 386 的段机制和页机制是 Linux 实现虚拟存储管理的一种硬件平台。实际上,Linux 2.0 以上的版本不...

    linux虚拟内存1/2

    ### Linux虚拟内存管理知识点 #### 一、过程地址空间(Process Address Space) 在Linux系统中,每个用户进程都被赋予一个独立的过程地址空间(Process Address Space, PAS),它为进程提供了一个虚拟视图,使得每个...

    解析linux中的free

    - **Used**:已用内存,表示正在被系统进程使用的内存总量。 - **Free**:空闲内存,表示未被任何进程使用的内存量。 - **Shared**:共享内存,指的是多个进程共同访问的内存区域。 - **Buffers/Cached**:缓冲...

    linux操作系统实验七-Linux存储管理操作实践.pdf

    通过 free 命令,可以了解系统当前的内存使用情况,包括总内存大小、已用内存大小、空闲内存大小和交换空间大小等信息。free 命令的常用参数包括: * -b:以字节为单位显示内存情况 * -k:以 KB 为单位显示内存情况...

    linux虚拟内存

    ### Linux虚拟内存详解 #### 虚拟内存概念与作用 虚拟内存是现代操作系统中一个重要的组成部分,它通过将部分磁盘空间用作内存来扩展物理内存容量,从而提高系统的性能和灵活性。虚拟内存的核心思想在于它允许程序...

Global site tag (gtag.js) - Google Analytics