linux free 理解
free命令:显示Linux系统中物理内存、buffer/cache、swap的使用情况。
virtual-machine:~$ free
             total       used       free     shared    buffers     cached
Mem:       1025140     747140     278000          0     117244     301936
-/+ buffers/cache:     327960     697180
Swap:      1046524          0    1046524
virtual-machine:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          1001        729        271          0        114        294
-/+ buffers/cache:        320        680
Swap:         1021          0       1021
其他用法 -h -t -o -l -V
解读:
- Mem 行
 total: 物理内存大小。
 used: 已使用的内存大小。
 free: 尚未分配使用的内存大小。
 shared: 共享内存大小。
 buffers/cached: 缓冲区和缓存占用的内存大小。
此行将buffers/cached(缓冲区和缓存)占用的内存算在内存的使用量里面。
- -/+ buffers/cache 行
 used: 程序已使用的内存大小。(Mem.used - (Mem.buffers+Mem.cached))
 free: 可使用的内存大小。 (Mem.free + (Mem.buffers+Mem.cached))
此行buffers/cached(缓冲区和缓存)占用的内存不算在内存的使用量里面。
buffer/cached作用: 简单的说,从磁盘读取到内存的数据在被相关应用程序读取后,如果有剩余内存,则这部分数据会存入cache,以备第2次读取时,避免重新读取磁盘。当一个应用程序在内存中修改过数据后,因为写入磁盘速度相对较低,在有空闲内存的情况下,这些数据先存入buffer,在以后某个时间再写入磁盘,从而应用程序可以继续后面的操作,而不必等待这些数据写入磁盘的操作完成。
buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached所占得内存会很快地被回收,所以对于应用程序来说,buffers/cached所占的内存部分是完全可用的。
- Swap 行
 虚拟内存使用量
 交换分区总量 、使用量 、剩余量
由系统把相关数据从磁盘读取到内存,如果物理内存不够,则把内存中的部分数据导入到磁盘,从而把磁盘的部分空间当作虚拟内存来使用,也称为Swap。
参考了:
- 1 https://blog.csdn.net/bingqingsuimeng/article/details/51858858
- 2 https://mp.weixin.qq.com/s?src=11×tamp=1554107070&ver=1519&signature=THUcgFt7UET4P5DLIyHqpa5GbS5eENSmsmnL9ZRjlSM6YUa1juO-33SMBGozZZbIuk1-t946XTntr1yIf2CDshNi8W2-M*23qR5RydV6b6d60cp4sUocSW6HojnOLazQ&new=1
- 3 https://mp.weixin.qq.com/s?src=3×tamp=1554107070&ver=1&signature=EAJiDLQkSR9ZeiKNJ9sNybZwSBoLkuAmSsF6ydQe3QPVMQjQwdtIMM2T4bp0V5r1RcUxQw4KBARJqaAWbsK3Ytwr2mvU8Vq3T4X03Os35WsvncDH9Gefpf6Vy6Va3hd2xZWqgjT6IiJNWFS0gUAl*bmhYMl3dPTKPuyOkrCjs=
linux free 理解的更多相关文章
- [Linux]系统调用理解(3)
		本文介绍了Linux下的进程的一些概念,并着重讲解了与Linux进程管理相关的重要系统调用wait,waitpid和exec函数族,辅助一些例程说明了它们的特点和使用方法. 1.7 背景 在前面的文章 ... 
- [Linux]系统调用理解(2)
		本文介绍了Linux下的进程概念,并着重讲解了与Linux进程管理相关的4个重要系统调用getpid,fork,exit和_exit,辅助一些例程说明了它们的特点和使用方法. 关于进程的一些必要知识 ... 
- 轻松学习Linux之理解Shell的硬链接与软连接
		大家在学习linux的过程中常常遇到一些模糊且容易混淆的概念比如什么是硬链接和软链接,他们有什么区别? 软连接有点象windows中的快捷方式,连接和目标文件具有相同的节点,而硬连接就好象重新复制 ... 
- 【Linux】理解setuid()、setgid()和sticky位
		详见: http://blog.csdn.net/m13666368773/article/details/7615125 Linux SETUID机制 (1)进程运行时能够访问哪些资源或文件,不取决 ... 
- (转)linux service理解
		能够使用service命令进行操作的,就是已经注册成为linux的系统服务了.window中也可以注册成为系统服务的办法. service命令用的次数真不少,就是比较多的关联点,用了很多次了,还是有些 ... 
- linux 系统进程理解
		1.为了对进程从产生到消亡的整个过程进行跟踪和描述,就需要定义各种进程的各种状态并制定相应的状态转换策略,以此来控制进程的运行. 不同的操作系统对进程的状态解释不同,但是最基本的状态都是一样 ... 
- Linux深入理解Socket异常
		在各种网络异常情况的背后,TCP是怎么处理的?又是怎样把处理结果反馈给上层应用的?本文就来讨论这个问题.分为两个场景来讨论 建立连接时的异常情况 1 正常情况下 经过三次握手,客户端连接成功,服务端有 ... 
- linux的理解
		1.用户组 因为linux 是多人多任务系统 所有可能有很多人在主机人作业.比如 有A B C D 4个人 在linux主机上作业, A B C 3个人 在做同一个项目 建了一个文件夹这个文件只能A ... 
- locale  localedef --之Linux字符集理解
		参考: https://www.cnblogs.com/dolphi/p/3622420.html http://www.360doc.com/content/15/1105/08/14513 ... 
- Linux系统理解以及Linux系统学习心得
		原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 作者:严哲璟 说一下我对Lin ... 
随机推荐
- OJ上 编译器 G++和C++的区别
			原文 :http://blog.csdn.net/febr2/article/details/52068357 编译时的差异: 编译器优化不同: 举个栗子: ①: a++ ②: ++a 从标准C的角度 ... 
- 2018 Machine Learning
			2018/8/13 线性模型(西瓜书P53~P73) Optimizer https://blog.csdn.net/u012151283/article/details/78154917 2018/ ... 
- vim E437: terminal capability "cm" required
			报错E437: terminal capability "cm" required 解决方法:# export TERM=xterm 
- hdu 1427 速算24点 dfs暴力搜索
			速算24点 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem De ... 
- poj 1986 Distance Queries 带权lca 模版题
			Distance Queries Description Farmer John's cows refused to run in his marathon since he chose a pa ... 
- sudo: /etc/sudoers is world writable sudo: no valid sudoers sources found, q...
			今天操作/etc/sudoers 文件,因为该文件只读,所以sudo chmod 777 /etc/sudoers ,结果可以修改这个文件了,但是导致所有用户的sudo都不能用了 是因为在Linux中 ... 
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
			一.需要分析 1.输入为一个字符串和字节数,输出为按字节截取的字符串--->按照字节[byte]截取操作字符串,先将String转换成byte类型 2.汉字不可以截半--->汉字截半的话对 ... 
- Qt5_容器_知识点记录
			1.删除: 1.1.erase 1.2.remove / removeAt 2. 3. 4. 5. 
- Thunder团队Final版本控制
			Final版本控制报告 团队介绍:Thunder Check in次数 :6次. check in log(时间.人员.message.动机.其他解释) 代码贡献量.代码贡献比例以及代码作用 git链 ... 
- js的单双引号
			单引号开始: 有时候上边的不行 双引号开始. 一般最外边是单引号 属性是双引号. 如果属性中还是需要一个属性的话,那么我们用\“,里边用‘+data.id+'来区分. 今天又一次遇到一次单双引号,花了 ... 
