`

[转]关于Linux cached 内存

 
阅读更多

今天测试MBS系统,AP的weblogic 只是设置了1.5G内存,但是经过3次稳定性测试,内存的利用率达到99%。

nmon的监控揭发发现存在5.6G的cached内存,下面介绍一下:

Linux与Windows不同,会存在缓存内存,通常叫做Cache Memory。有些时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存会很少。

 

什么是Cache Memory(缓存内存)

 

当你读写文件的时候,Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少。

 

其实这缓存内存(Cache Memory)在你需要使用内存的时候会自动释放,所以你不必担心没有内存可用。如果你希望手动去释放Cache Memory(缓存内存)的话也是有办法的。

 

释放Cache Memory(缓存内存):

 

用下面的命令可以释放Cache Memory:

 

[rootmin@localhost~]#echo 3 > /proc/sys/vm/drop_caches

 

Linux中如何释放cache内存

 

因为LINUX的内核机制,一般情况下不需要特意去释放已经使用的cache。这些cache起来的内容可以增加文件以及的读写速度。

先说下free命令怎么看内存

 

[rootmin@localhost~]# free

 

total used free shared buffers cached

 

Mem: 515588 295452 220136 0 2060 64040

 

-/+ buffers/cache: 229352 286236

 

Swap: 682720 112 682608

 

其中第一行用全局角度描述系统使用的内存状况:

total——总物理内存

used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存

free——完全未被使用的内存

shared——应用程序共享内存

buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)

cached——缓存,用于已打开的文件

注意:

total=used+free

used=buffers+cached (maybe add shared also)

第二行描述应用程序的内存使用:

前个值表示-buffers/cache——应用程序使用的内存大小,used减去缓存值

后个值表示+buffers/cache——所有可供应用程序使用的内存大小,free加上缓存值

注意

-buffers/cache=used-buffers-cached

+buffers/cache=free+buffers+cached

第三行表示swap的使用:

used——已使用

free——未使用

 

cache释放:

 

1.   To free pagecache:

[rootmin@localhost~]#echo 1 > /proc/sys/vm/drop_caches

 

2.   To free dentries and inodes:

 

[rootmin@localhost~]#echo 2 > /proc/sys/vm/drop_caches

 

3.   To free pagecache, dentries and inodes:

 

[rootmin@localhost~]#echo 3 > /proc/sys/vm/drop_caches

 

说明,释放前最好sync一下,防止丢数据

 

原文地址:

http://hi.baidu.com/litertiger/item/d3370e189669980ce65c3617

分享到:
评论

相关推荐

    Linux查看CPU和内存使用情况

    ### Linux查看CPU和内存使用情况详解 在Linux系统管理中,了解CPU和内存的使用情况是至关重要的。这不仅有助于日常的系统监控,还能在问题出现时迅速定位并解决。本文将详细介绍如何在Linux环境下使用`top`命令查看...

    手工释放linux内存.pdf

    ### 手工释放Linux内存详解 #### 一、引言 在Linux环境下,内存管理是一项重要的任务,尤其在服务器环境中更是如此。随着程序的运行,Linux操作系统会利用空闲内存作为缓存,以提高文件读取效率。然而,这也可能...

    Linux内存管理实验.pdf

    Linux内存管理实验是关于Linux操作系统内存管理机制的学习和实践。本实验中会涉及到诸多内存管理的关键概念和工具,如free、vmstat、readelf、objdump等。接下来将详细解释上述内容中涉及的关键知识点。 首先,free...

    [linux怎么看内存使用率]linux查看内存使用率.docx

    Linux 查看内存使用率详解 在 Linux 系统中,查看内存使用率是非常重要的,了解系统中的内存使用情况可以帮助我们更好地对系统进行优化和配置。下面我们将详细介绍如何使用 top 和 free 命令来查看系统中的内存使用...

    Linux内存buffer和cache的区别

    - **Cached**:表示作为cache使用的内存量,即用于加速读取操作的内存。 **注意事项**: - 当系统中存在大量的buffers和cache时,并不一定意味着内存不足。相反,这通常是系统高效运行的表现。 - 只有当buffers和...

    Linux操作系统中的内存简单计算方式介绍

    本文将介绍Linux内存管理的基本概念,特别是关于缓存的使用以及如何简单计算内存使用情况。 首先,Linux的核心理念是充分利用内存资源,即使在没有活跃进程时,也会将内存用于缓存文件系统数据,包括缓冲区...

    Linux下应用程序到底使用了多少内存

    这是因为Linux系统会预留一部分内存作为缓冲区(buffers)和缓存(cached)。缓冲区主要用于存储磁盘块,以提高磁盘I/O操作的速度,而缓存则用于存储文件系统的元数据和文件内容,加快文件访问速度。 `free`命令...

    D1-H_Tina_Linux_内存优化_开发指南1

    /proc/meminfo 节点则显示系统当前的内存使用情况,包括总内存、used 内存、free 内存、 buffers 和 cached 等。 保留内存 保留内存是指系统在启动时预留的一部分内存,用于满足系统的最低需求。保留内存的优化...

    在linux查看内存的大小.pdf

    这个命令提供了关于物理内存(RAM)和交换空间(Swap)的详细统计。例如: ```bash # free -m ``` 输出通常包含以下几列: 1. `total`:表示总内存(包括物理内存和交换空间)的总量,单位是MB。 2. `used`:已...

    cgroup-linux内存资源管理.pdf

    在Linux系统中,内存分为多个部分,包括`buffers`和`cached`,它们是系统用来缓存文件系统和网络数据的。当进程读取或写入文件时,内核会将这些数据存储在缓冲区或高速缓存中,以提高后续访问的速度。尽管`buffers`...

    如何正确查看Linux机器内存使用情况.docx

    这个命令提供了关于系统内存的简洁概览,包括总内存、已使用、空闲、缓冲区和缓存等信息。例如: ``` total used free shared buffers cached Mem: 73728 70940 2788 0 0 64840 -/+ buffers/cache: 6100 67628...

    ram.zip_CPU 内存_linux内存

    另外,`/proc/meminfo`文件提供了更详细的内存信息,可以通过阅读这个文件来了解各项内存指标,如:MemTotal, MemFree, Buffers, Cached等。`smem`命令则是另一个有用的工具,它可以提供带宽使用情况以及内存的详细...

    Linux 内存管理

    例如,`free -k`会以KB为单位显示内存使用情况,包括total(总内存)、used(已用内存)、free(空闲内存)、shared(共享内存)、buffers(缓冲区内存)和cached(缓存内存)。`free -m`则以MB为单位显示,而`-s ...

    linux查看内存和CPU详解.pdf

    在Linux操作系统中,管理和监控内存及CPU的使用情况对于系统管理员来说至关重要,这有助于优化系统性能、排查问题以及确保服务的稳定运行。本篇将详细解释如何查看Linux系统的内存和CPU使用情况,以及如何理解相关...

    嵌入式Linux内存管理之free命令

    缓冲(buffers)和缓存(cached)是Linux内存管理中的两个重要概念,它们都用于提高文件系统的性能: - Buffers主要用作块设备的缓冲,用来存储文件系统的元数据和正在处理的页面信息。 - Cached用于文件内容的缓冲...

    linux 内存清理/释放命令总结

    它提供了关于系统内存使用情况的统计信息。 - **buffers/cached**:这是指系统中用于存储文件系统元数据(例如inode信息)和文件内容缓存的内存区域。 - **page cache**:这部分缓存专门用于存储文件内容,它可以...

    Linux内存维护[收集].pdf

    在Linux系统中,内存管理是核心操作之一,它涉及到系统的整体性能和稳定性。这份文档主要讲解了两个关键的工具——`free`命令和`/proc/meminfo`文件,它们用于监控和理解Linux内存的使用情况。 1. `free`命令详解 ...

    linux下释放cache内存

    ### Linux下释放Cache内存 #### 一、理解Linux内存管理机制 在Linux系统中,内存管理机制非常高效且复杂。为了提升文件系统访问速度,Linux内核会利用空闲内存来缓存文件数据(称为Page Cache)和其他类型的缓存...

    手工释放linux内存_proc sys vm drop_caches

    在Linux操作系统中,物理内存是非常宝贵的资源,操作系统会使用各种手段来优化内存的使用。一个常见的现象是,在Linux系统中频繁操作文件,比如复制、读取或者写入,会导致物理内存很快被占用。当这些操作结束之后,...

Global site tag (gtag.js) - Google Analytics