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几次,再清理内存,有下面三个级别,数值越 ...
随机推荐
- CMD如何快速打开当前文件夹窗口
/******************************************************************************* * CMD如何快速打开当前文件夹窗口 ...
- 【linux基础】ubuntu系统NVIDIA驱动安装
在安装GPU环境下的软件工具,特别是CUDA/CUDNN等,一定要先把GPU环境搭建好. NVIDIA驱动安装会遇到各种问题,真希望黄教主可以将各个工具如何安装使用讲解的更加细致.清楚一些,有时候按照 ...
- JavaScript原型链及继承
在JavaScript中,所有的东西都是对象,但是JavaScript中的面向对象并不是面向类,而是面向原型的,这是与C++.Java等面向对象语言的区别,比较容易混淆,因此把我自己学习的过程记录下来 ...
- Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记
Representation learning : 表征学习,端到端的学习 pre-specified 预先指定的 demonstrate 论证;证明,证实;显示,展示;演示,说明 attempt ...
- SQLI DUMB SERIES-17
(1)无论怎么输入username,都没有回显.尝试改变password的输入.找到了闭合方式:单引号 (2)报错注入: 爆库名 admin&passwd=admin' and extract ...
- npm,bower安装失败
安装一些软件时,总是会出现一些莫名其妙的问题.我在安装node.js时,默认安装到C:\Program Files\nodejs之后,安装bower时,bower_components默认装到C:\W ...
- 用python给邮箱发邮件,问题,以及解决方法。
模版 import smtplib #导入相关模块 from email.mime.text import MIMEText from email.utils import formataddr de ...
- adv生成控制器手腕位置倾斜原因以及解决方案
系统默认问题导致手腕倾斜详情描述: 手腕部分默认生成轴向是冲向模板下一层级第一个物体 简单说就是 FK轴向冲向模板中指方向 如图 默认模板没问题是因为 默认模板没有改动情况下系统中指与手腕在一条直 ...
- Centos下查看当前目录大小及文件个数
查看目录及其包含的文件的大小 du -ch directory 查看当前目录下文件的个数 ls -l | grep "^-" | wc -l 查看当前目录下以.jpg为后缀文件的个 ...
- 解决long类型传到前端损失精度问题
原因: 解决办法:https://blog.csdn.net/xiaoxiangzi520/article/details/76522242 经过验证,发现上述解决办法回导致前端先后台传输数据时导致j ...