Linux内存解读
1.free -m命令
[root@crawler ~]# free -m
total used free shared buffers cached
Mem:
-/+ buffers/cache:
Swap:
[1]第一行:total:总的物理内存。used:已经使用的物理内存。free:剩余的物理内存。buffers :buffers占用的物理内存。cached :cached占用的物理内存。
第二行:used:应用程序使用的物理内存。free:应用程序可用的物理内存。
第三行:total:swap总内存。used:已经使用的swap内存。free:剩余的swap内存。
[2]buffers和cached内存是操作系统为了提高系统性能,系统临时占用的内存,如果应用程序内存不够用了,可以随时释放,所以第二行的意思就是对应用程序来说的已用内存和可用内存,继续解释就是:
total used free shared buffers cached
Mem:
-(buffers/cache):
+(buffers/cache):
Swap:
[3]总之,第一行展示的是系统的内存使用情况,第二行就是对应用程序来说的内存使用情况,第三行是交换区内存的使用情况。
2.swap内存
[1]swap就是交换区的意思,swap内存占用的是磁盘空间,当物理内存不够用的时候,可以把物理内存先放到swap内存里面,后面可以再取回到物理内存里面。
[2]设置使用swap的时机:/proc/sys/vm/swappiness,这里面的值(默认是60)就是当物理内存的使用百分比超过这个值时,便开始使用swap内存。
3.buffers和cached内存
[1]buffer和cache是为了提高系统性能,系统申请的内存。
[2]buffer:缓冲区的意思。例如程序向磁盘写入100次数据,系统可以把每10次的数据存到buffer里面,然后一次性写到磁盘,起到了缓冲的作用。
cache:缓存的意思。例如从磁盘读了一些数据,系统可以把这些数据存到cache里面,下次需要读相同数据时,就不用再次读磁盘了,起到了缓存的作用。
[3]一般情况下,buffer是用来写缓冲,而cache是用来读缓存,即write-buffer和read-cache,当然buffer和cache都可以混用,看自己的情况使用。当然上面说的这些内存cache和buffer都是操作系统的行为,还要看操作系统如何实现。
Linux内存解读的更多相关文章
- Linux内存管理 (25)内存sysfs节点解读
1. General 1.1 /proc/meminfo /proc/meminfo是了解Linux系统内存使用状况主要接口,也是free等命令的数据来源. 下面是cat /proc/meminfo的 ...
- Linux内存寻址之分页机制
在上一篇文章Linux内存寻址之分段机制中,我们了解逻辑地址通过分段机制转换为线性地址的过程.下面,我们就来看看更加重要和复杂的分页机制. 分页机制在段机制之后进行,以完成线性—物理地址的转换过程.段 ...
- Linux内存管理 (5)slab分配器
专题:Linux内存管理专题 关键词:slab/slub/slob.slab描述符.kmalloc.本地/共享对象缓冲池.slabs_partial/slabs_full/slabs_free.ava ...
- Linux内存管理 (9)mmap
专题:Linux内存管理专题 关键词:文件映射.匿名映射.私有映射.共享映射 mmap/munmap是常用的一个系统调用,使用场景是:分配内存.读写大文件.连接动态库文件.多进程间共享内存. 更详细解 ...
- Linux内存寻址之分段机制及分页机制【转】
前言 本文涉及的硬件平台是X86,如果是其他平台的话,如ARM,是会使用到MMU,但是没有使用到分段机制: 最近在学习Linux内核,读到<深入理解Linux内核>的内存寻址一章.原本以为 ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 浅谈Linux内存管理机制
经常遇到一些刚接触Linux的新手会问内存占用怎么那么多?在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然.这是Linux内存管理的一个优秀特性,在这 ...
- linux内存管理
一.Linux 进程在内存中的数据结构 一个可执行程序在存储(没有调入内存)时分为代码段,数据段,未初始化数据段三部分: 1) 代码段:存放CPU执行的机器指令.通常代码区是共享的,即其它执行程 ...
- Linux 内存管理
查看Linux内存使用情况 free -m Linux内存清理:绝大多数情况下都不需要此操作,因为cache的内存在需要的时候是可以自动释放的- 最好先sync几次,再清理内存,有下面三个级别,数值越 ...
随机推荐
- Centos7-跟踪用户操作记录并录入日志
1. 添加bash全局配置文件: cd /etc/profile.d sudo -e vi log_command.sh 输入如下内容: export PROMPT_COMMAND='RETRN_VA ...
- syslog日志打印
最近syslog出了一次问题,我们配置了不同appname打印到不同文件.现在用不同appname打印log的时候,偶然会混在一起.检查过配置后,觉得不是配置问题,如果是配置问题应该每一条都会打错位置 ...
- 克拉美罗界(CRB)
转载自:http://www.cnblogs.com/rubbninja/p/4512765.html 各种研究领域(包括无线定位方向)都会碰到参数估计的问题,这时常常会看到克拉美罗界 (Cramér ...
- leetcode 687.Longest Univalue Path
寻找最长的路径,那么会在左边或者右边或者是从左到跟然后再到右方的路径的. /** * Definition for a binary tree node. * struct TreeNode { * ...
- Node版本管理工具-NVM的安装与使用(windows系统)
友情提示:为避免踩坑,建议浏览全文后动手操作!!! 一.nvm是什么 看到这篇文章的猿/媛们肯定不会问这个问题了,但是我还是要说,哈哈哈! 无论工作还是干嘛,就不会一直做项目,所以肯定也不会一直用一个 ...
- 湖南大学第十四届ACM程序设计新生杯(重现赛)I:II play with GG(博弈论||DP)
链接:https://ac.nowcoder.com/acm/contest/338/I 来源:牛客网 题目描述 IG won the S championship and many people a ...
- C语言-第2次作业得分
作业链接:https://edu.cnblogs.com/campus/hljkj/CS20180的2/homework/2292 作业链接:https://edu.cnblogs.com/campu ...
- MYSQL常用命令2
mysql 的dos命令行大全 2016年11月04日 16:03:59 阅读数:7987 1.连接Mysql(中文乱码在文章的最后) 格式: mysql -h主机地址 -u用户名 -p用户密码 1. ...
- jQuery基础之一
jQuery基础之一 初识jQuery jQuery封装JavaScript中多个好用的函数成为并形成代码库,操作时也更符合我们的习惯,并且减少了浏览器之间的兼容性. jQuery官网 引入 本地 ...
- less的安装和使用
资料: https://www.cnblogs.com/starof/p/5226739.html