/proc是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel
实体间进行通信的一种手段.也就是说可以通过修改/proc中的文
件,来对当前kernel的行为做出调整.那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存.操作如下:
[root@server test]# cat /proc/sys/vm/drop_caches
0
首先,/proc/sys /vm/drop_caches的值,默认为0
[root@server test]# sync
手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)
[root@server test]# echo 3 > /proc/sys/vm/drop_caches
[root@server test]# cat /proc/sys/vm/drop_caches
3
将/proc/sys/vm/drop_caches值设为3
[root@server test]# free -m
total used free shared buffers cached
Mem: 249 66 182 0 0 11
-/+ buffers/cache: 55 194
Swap: 511 0 511
再来运行free命令,发现现在的used为66MB,free为182MB,buffers为0MB,cached为11MB.那么有效的释放了 buffer和cache.
有关/proc/sys/vm/drop_caches的用法在下面进行了说明
/proc/sys/vm/drop_caches (since Linux 2.6.16)
Writing to this file causes the kernel to drop clean caches,
dentries and inodes from memory, causing that memory to become
free.
To free pagecache, use echo 1 > /proc/sys/vm/drop_caches; to
free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
to free pagecache, dentries and inodes, use echo 3 >
/proc/sys/vm/drop_caches.
Because this is a non-destructive operation and dirty objects
are not freeable, the user should run sync(8) first.
分享到:
相关推荐
### Linux下释放Cache内存 #### 一、理解Linux内存管理机制 在Linux系统中,内存管理机制非常高效且复杂。为了提升文件系统访问速度,Linux内核会利用空闲内存来缓存文件数据(称为Page Cache)和其他类型的缓存...
标题提到的"linux 查看 cache 中文件",指的是在Linux环境下查看内存中的缓存文件。这个功能可以通过特定的工具实现,描述中提及的“安装此工具后,可以查看系统内存中cache包含的文件”,很可能是指一个名为`ftools...
在标题和描述中提到的问题,即"Linux下buff/cache占用过高",这是一个常见的系统性能优化问题,尤其是对于运行Java应用或者其他资源密集型服务的云服务器而言。这里我们将深入探讨buff/cache的作用、为何会占用过多...
Linux内核内存Cache机制是操作系统优化性能的关键组成部分,它通过减少对主存的访问次数,提高了数据读取和写入的速度。在Linux系统中,内存Cache主要分为两种类型:Page Cache和Disk Cache,它们分别针对文件系统和...
在Linux环境下,内存管理是一项重要的任务,尤其在服务器环境中更是如此。随着程序的运行,Linux操作系统会利用空闲内存作为缓存,以提高文件读取效率。然而,这也可能导致看似“内存不足”的情况发生,即使应用程序...
### Linux下手动释放内存 在Linux系统中,内存管理是一个重要的方面,特别是在服务器环境中,合理的内存管理能够提高系统的性能和稳定性。本文将详细介绍如何通过命令手动释放Linux系统的内存,并解释这些命令背后...
在Linux系统中,Buffer和Cache的概念也被用于描述文件系统的状态。Buffer是指待写入磁盘的数据,它们通常与文件系统的写操作相关,比如在文件被修改后,系统会先将其内容暂存于Buffer中,然后在合适的时机(例如通过...
1. OOM Killer:当系统内存极度紧张时,Linux会启动Out-of-Memory Killer,选择优先级低或消耗内存过多的进程进行杀死,以释放内存。 2. 内存气泡:内存气泡是一种优化技术,它允许空闲内存从一个进程转移到另一个...
### Linux内存清理与释放命令详解 #### 概述 Linux作为一种高效的服务器操作系统,在资源管理上有着卓越的表现。尤其是在内存管理方面,Linux系统倾向于利用空闲内存作为缓存,以提高文件系统的读写性能。然而,在...
本文将深入探讨Linux下应用程序的内存使用情况,并解析`top`命令和`free`命令提供的内存信息。 首先,当我们通过`top`命令查看内存使用情况时,要注意它显示的内存占用并不完全代表应用程序实际消耗的内存。这是...
在Linux中,文件Cache起到了内存管理与文件系统间的桥梁作用,确保数据高效地在内存和存储设备之间流动。 文件Cache主要由Page Cache和Buffer Cache两部分组成。Page Cache是更高层的概念,用于缓存文件的连续数据...
### Linux Kernel Cache 深入解析 #### 一、整体系统架构 在 Linux 内核中,缓存机制是提高系统性能的关键因素之一。Linux 的整体系统架构如图 1 所示,其中页缓存(Page Cache)位于文件系统(FS)与块设备层之间...
本资料包聚焦于Linux下的内存管理,提供了深入的学习材料,旨在帮助读者理解和掌握这一关键领域。 Linux内存管理主要包括以下几个方面: 1. 物理内存(Physical Memory):Linux系统中的物理内存是指计算机硬件上...
### Linux下的内存管理 #### 一、Linux内核内存管理概述 Linux内核的内存管理模块负责处理系统中所有内存的分配与回收任务。这部分功能是操作系统的核心之一,确保了程序能够高效、安全地访问内存资源。Linux内核...
- **功能描述**:内存分配和回收机制负责动态地为进程分配和释放物理内存。它确保了内存资源的有效利用,并避免了内存泄漏等问题。 - **函数调用关系图**:此图展示了内存分配过程中各个函数之间的调用顺序,有助于...
本实验旨在帮助你深入理解Linux环境下的内存管理机制,主要包括内存映射(mapping)和解除映射(unmapping),以及如何在内存中打开和读取文件。 一、Linux内存映射 内存映射是Linux提供的一种机制,允许将文件或...
8. OOM(Out-Of-Memory)杀手:当系统内存耗尽时,Linux会启动OOM killer,选择杀死一些进程以释放内存。选择哪个进程被杀取决于其内存使用情况和优先级。 9. 内存管理工具:`free`命令显示当前系统的内存使用情况...
交换机制是当物理内存不足时,Linux会将不活跃的页写入磁盘的交换分区,释放物理内存供其他进程使用。这一过程称为页面交换。当需要时,这些页面会被重新加载回内存,即页面回换。交换空间的设置和管理对系统性能有...
Linux 系统中的内存清理和释放命令归纳 Linux 系统中的内存清理和释放命令是非常重要的,因为它可以帮助我们释放系统中的内存,从而提高系统的性能。在 Linux 系统中,有多种方式可以清理和释放内存,本文将对这些...