#cat /proc/meminfo | grep "MemFree" | awk '{print $2}' (用来查看free的内存有多少)
之前先了解一下内存的基本知识
#free -m
total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153
第一部分Mem行:
total 内存总数: 1002M
used 已经使用的内存数: 769M
free 空闲的内存数: 232M
shared 当前已经废弃不用,总是0
buffers Buffer 缓存内存数: 62M
cached Page 缓存内存数:421M
关系:total(1002M) = used(769M) + free(232M)
第二部分(-/+ buffers/cache):
(-buffers/cache) used内存数:286M (指的第一部分Mem行中的used - buffers - cached)
(+buffers/cache) free内存数: 715M (指的第一部分Mem行中的free + buffers + cached)
可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。(从这里我们可以看出,实际上 :可用内存=第一部分Mem行中的free + buffers + cached,并不是只有free部分)
第三部分是指交换分区,
对操作系统来讲是Mem的参数.buffers/cached 都是属于被使用,所以它认为free只有232.
对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。
以应用来看,以(-/+ buffers/cache)的free和used为主.所以我们看这个就好了.另外告诉一些常识.Linux为了提高磁盘和内存存取效率, Linux做了很多精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache能有效缩短了 I/O系统调用(比如read,write,getdents)的时间。
内存是拿来用的,不是拿来看的.不象windows,无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦.
#sync
#sync
# echo 3 > /proc/sys/vm/drop_caches
# free -m
分享到:
相关推荐
以上内容比较简单,成功的给大家介绍了Linux 内存释放命令的知识,希望能够帮助到大家! 您可能感兴趣的文章:php查找指定目录下指定大小文件的方法linux下查看内存条数及每根内存大小的实现方法(推荐)linux查看文件...
### 手工释放Linux内存详解 #### 一、引言 在Linux环境下,内存管理是一项重要的任务,尤其在服务器环境中更是如此。随着程序的运行,Linux操作系统会利用空闲内存作为缓存,以提高文件读取效率。然而,这也可能...
### Linux 内存泄露查找详解 #### 一、引言 在进行Linux C语言编程时,内存管理一直是程序员关注的重点之一。特别是在动态内存分配场景下,如果不妥善处理,很容易出现内存泄露的问题。内存泄露不仅会消耗系统资源...
Linux内存管理是操作系统的核心组成部分,它负责有效地分配和回收内存资源,确保系统高效稳定地运行。在本实验中,我们主要探讨了Linux虚拟内存管理的原理、动态内存操作函数的使用,以及如何检测主存使用情况。 ...
Linux内存管理是操作系统的核心组成部分,尤其对于服务器和嵌入式设备等依赖稳定高效内存操作的环境至关重要。在Linux内核中,内存管理涉及到多个层面,包括分配、释放、碎片控制以及高速缓存优化等。 首先,Linux...
动态存储器管理还涉及到页框的分配和释放,Linux 中提供了多种接口来分配和释放页框,例如 alloc_pages、alloc_page、__get_free_pages、__get_free_page 等。 Linux 内存管理还涉及到缓存机制,缓存机制可以提高...
在Linux系统中,内存池是一种优化内存管理的技术,尤其对于频繁分配和释放小块内存的情况,内存池可以显著提升性能并减少系统开销。本文将深入探讨Linux下的内存池实现,包括其原理、优势以及如何在C或C++中进行实践...
易语言Linux内存操作源码是针对Linux操作系统设计的编程代码,主要目的是为了在Linux环境下进行内存管理与操作。易语言是一种中国本土开发的、面向普通用户的编程语言,它以其简单的语法和直观的编程界面,降低了...
Linux支持虚拟内存(Virtual Memory),虚拟内存是指使用磁盘作为RAM的扩展,内核会将暂时不用的内存块的内容写到硬盘上,以便释放出内存空间供其他进程使用。当需要用到原始的内容时,它们被重新读入内存。 Linux...
在使用共享内存的程序异常退出时,由于没有释放掉共享内存,在调试时会出现错误。您可以使用shell命令来查看与释放已经分配的共享内存,下面将详细说明如何进行查看和释放分配的共享内存的方法。
以下是Linux内存管理的一些关键知识点: 1. **内存管理工具**: - CodeViz:这是一个用于生成代码调用关系图的工具,可以帮助开发者理解代码间的调用结构,虽然在描述中没有详细展开,但它是分析Linux内核源码的...
此书中可能涵盖了内存分配(如kmalloc、brk、mmap)、内存释放、内存区域的管理(如匿名内存和文件映射)以及内存碎片的控制策略。 3. **内存性能分析**:为了优化内存使用,了解内存性能指标至关重要。这可能包括...
本文将深入探讨Linux内存运行原理,重点关注SLAB内存管理机制以及如何进行内存泄漏分析。 1. **Linux内存架构** - 物理内存:计算机硬件提供的RAM,用于存储程序和数据。 - 逻辑地址与物理地址:进程看到的是逻辑...
Linux操作系统的内存管理机制还包括延迟分配和请页机制释放内存时,先释放线性区对应的物理内存,然后释放线性区。这就叫做延迟分配和请页机制,充分利用了程序的局部性,节约内存空间,提高系统吞吐。 Linux操作...
#### 一、理解Linux内存管理机制 在Linux系统中,内存管理机制非常高效且复杂。为了提升文件系统访问速度,Linux内核会利用空闲内存来缓存文件数据(称为Page Cache)和其他类型的缓存(如Buffer Cache)。这样做的...
本文将深入探讨嵌入式Linux内存使用与性能优化的相关知识点,帮助开发者更好地理解和改进其程序性能。 首先,理解Linux内存模型是优化的基础。Linux内核采用虚拟内存管理,包括物理内存(RAM)和交换空间(Swap)。...
### Linux内存清理与释放命令详解 #### 概述 Linux作为一种高效的服务器操作系统,在资源管理上有着卓越的表现。尤其是在内存管理方面,Linux系统倾向于利用空闲内存作为缓存,以提高文件系统的读写性能。然而,在...