free介绍

FREE(1)                       Linux User’s Manual                      FREE(1)

NAME
free - Display amount of free and used memory in the system SYNOPSIS
free [-b | -k | -m] [-o] [-s delay ] [-t] [-l] [-V] DESCRIPTION
free displays the total amount of free and used physical and swap memory in the system,
as well as the buffers used by the kernel.
The shared memory column should be ignored; it is obsolete. Options
The -b switch displays the amount of memory in bytes; the -k switch (set by default) displays it
in kilobytes; the -m switch displays it in megabytes. The -t switch displays a line containing the totals. The -o switch disables the display of a "buffer adjusted" line. If the -o option is not speci-
fied, free subtracts buffer memory from the used memory and adds it to the free memory reported. The -s switch activates continuous polling delay seconds apart. You may actually specify any
floating point number for delay, usleep(3) is used for microsecond resolution delay times. The -l switch shows detailed low and high memory statistics. The -V switch displays version information. FILES
/proc/meminfo-- memory information SEE ALSO
ps(1), slabtop(1), vmstat(8), top(1) AUTHORS
Written by Brian Edmonds. Send bug reports to <albert@users.sf.net> Cohesive Systems 20 Mar 1993 FREE(1)

free示例

root@71standby[12:20:25]$ free && echo '' && cat /proc/meminfo
total used free shared buffers cached
Mem: 32880252 7804824 25075428 2836 397504 5559752
-/+ buffers/cache: 1847568 31032684
Swap: 2064380 0 2064380 MemTotal: 32880252 kB
MemFree: 25075428 kB
Buffers: 397504 kB
Cached: 5559752 kB
SwapCached: 0 kB
Active: 2778440 kB
Inactive: 4535288 kB
Active(anon): 1356660 kB
Inactive(anon): 2640 kB
Active(file): 1421780 kB
Inactive(file): 4532648 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 2064380 kB
SwapFree: 2064380 kB
Dirty: 160 kB
Writeback: 0 kB
AnonPages: 1356472 kB
Mapped: 32648 kB
Shmem: 2836 kB
Slab: 259528 kB
SReclaimable: 221788 kB
SUnreclaim: 37740 kB
KernelStack: 5776 kB
PageTables: 18332 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 18504504 kB
Committed_AS: 3346884 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 66544 kB
VmallocChunk: 34359658428 kB
HardwareCorrupted: 0 kB
AnonHugePages: 806912 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 6012 kB
DirectMap2M: 2091008 kB
DirectMap1G: 31457280 kB
root@71standby[12:20:30]$

字段解释

>>> # free 默认单位是KB
>>>
>>> 32880252-7804824 # 总内存 - 已使用内存 == 剩余可用内存
25075428
>>>
>>> 7804824-397504-5559752 # 已使用内存分为三部分:应用程序占用的内存 + buffers + cached
1847568 # 所以当前服务器上应用程序一共占用了 1847568KB内存
>>>
>>> 25075428+397504+5559752 # 全部可用内存 = 剩余可用内存 + buffers + cached
31032684 # 所以当前服务器上可以实际使用的内存为 31032684KB
>>>

buffers和cached是干啥用的?

cached是cpu与内存间的,buffer是内存与磁盘间的,都是为了解决速度不对等的问题。

buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的。

- 缓存(cached)是把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。

其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。

- 缓冲(buffers)是根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。

linux有一个守护进程定期 清空缓冲内容(即写入磁盘),也可以通过sync命令手动清空缓冲。

举个例子吧:我这里有一个ext2的U盘,我往里面cp一个3M的MP3,但U盘的灯 没有跳动,过了一会儿(或者手动输入sync)U盘的灯就跳动起来了。

卸载设备时会清空缓冲,所以有些时候卸载一个设备时要等上几秒钟

- swappiness  修改/etc/sysctl.conf中的vm.swappiness右边的数字可以在下次开机时调节swap使用策略。

该数字范围是0~100,数字越大越倾向于使用swap。默认为60,可以改一下试试。–两者都是RAM中的数据。

 

转自https://www.cnblogs.com/chenpingzhao/p/5161844.html

free命令查看内存信息的更多相关文章

  1. linux 清理内存命令 查看内存命令

    查看内存: 我们可以用free命令查看内存信息: free -g total used free shared buffers cachedMem: 15   15    0     0       ...

  2. Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息

    Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息   by:授客 QQ:1033553122 1.  查看内存信息 1)查看所有内存信息 命令: dumpsys mem ...

  3. Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息

    1.  查看内存信息 1)查看所有内存信息 命令: dumpsys meminfo 例: C:\Users\laiyu>adb shell shell@android:/ $ dumpsys m ...

  4. linux 查看内存信息,及其他硬件信息 dmidecode命令

    由于想换内存,想看看内存型号.频率,简单搜了下命令 可以用dmidecode 命令查看. dmidecode -t memory 这个命令可以查看内存的几乎所有信息,包括频率 大小等等 另外这个命令强 ...

  5. free命令查看内存使用情况(转载)

    linux free命令查看内存使用情况 时间:2016-01-05 06:47:22来源:网络 导读:linux free命令查看内存使用情况,free命令输出结果的各选项的含义,以及free结果中 ...

  6. 如何在windows系统自带命令查看硬件信息?

    如何在windows系统自带命令查看硬件信息? 对于在windows下查看系统信息大家一定不陌生了,我现在说几个最常用的方法,对命令感兴趣的朋友看看,(给菜鸟看的,老手就不要笑话我了,大家都是从那个时 ...

  7. linux top命令查看内存及多核CPU的使用讲述【转】

    转载一下top使用后详细的参数,之前做的笔记找不见了,转载一下,作为以后的使用参考: 原文地址:http://blog.csdn.net/linghao00/article/details/80592 ...

  8. 使用info命令查看Redis信息和状态

    redis-cli连接服务器后,使用info命令查看Redis信息和状态: ? 1 info 其中memory段显示了redis的内存使用状态. 以下内容复制自:http://redisdoc.com ...

  9. 如何使用dmidecode命令查看硬件信息

    引言 当我们需要获取机器硬件信息时,可使用linux系统自带的dmidecode工具进行查询. dmidecode命令通过读取系统DMI表,显示服务器硬件和BIOS信息.除了可使用dmidecode查 ...

随机推荐

  1. Linux中删除特殊名称文件的多种方式

    今日分享:我们在肉体的疾病方面花了不少钱,精神的病害方面却没有花什么,现在已经到了时候,我们应该有不平凡的学校.--<瓦尔登湖> 前言 我们都知道,在linux删除一个文件可以使用rm命令 ...

  2. Django REST framework基础:解析器和渲染器

    解析器 解析器的作用 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据.本质就是对请求体中的数据进行解析. 在了解解析器之前,我们要先知道Accept以及ContentTy ...

  3. 怎样保证socket.recv接收完数据

    最近在使用python进行网络编程开发一个通用的tcpclient测试小工具.在使用socket进行网络编程中,如何判定对端发送一条报文是否接收完成,是进行socket网络开发必须要考虑的一个问题.这 ...

  4. Python开发【字符串格式化篇】

    1.百分号 __author__ = "Tang" # + 号 拼接 msg = "i am " + " tang" print(msg) ...

  5. vue2.0 :style :class样式设置

    HTML :style 的用法 <el-dialog custom-class="creatUser-wrap" :style="{display:formShow ...

  6. 3-STM32带你入坑系列(自己封装点亮一个灯的库--Keil)

    2-STM32带你入坑系列(点亮一个灯--Keil) 首先建一个stm32f103x.h的文件,然后 #include "stm32f103x.h" 还记得上一节 现在呢就是做一个 ...

  7. React-propsType和defaultProps

    TodoItem.propTypes={ content:PropTypes.string, text:PropTypes.string.isRequired, handleDeleteItem:Pr ...

  8. 不要再被骗了------QQ盗号原理大揭秘

    前言 相信大家在懵懂无知的时候都有被盗号的经历吧,QQ胡乱的加好友,突然有个好友传了个文件给你,打开以后发现QQ竟然显示强制下线,然后再也上不去了QAQ,很明显,QQ号被人盗了.最近也是很多小伙伴私信 ...

  9. EasyUI datagrid formatter 属性

    easyui的formatter属性可以帮助我们更加灵活的显示数据库中的数据. 比如,我有一个启用禁用字段,使用数字表示,1表示启用,2表示禁用,展示给客户的时候我当然希望是中文的形式. 只需要写这么 ...

  10. Git—分支管理

    Git—分支管理 分支学习:branch称为分支,默认仅有一个名为master的分支.一般开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支. branch相关常用 ...