About nanxiao

Posts by nanxiao:

0

Linux系统查看可用内存

Posted by nanxiao on 二月 25, 2017 in 技术 |

http://www.linuxatemyram.com/提到使用free命令查看Linux系统使用内存时,used一项会把当前cache的大小也会加进去,这样会造成free这一栏显示的内存特别少:

$ free -m
               total        used        free      shared  buff/cache   available
Mem:           1504        1491          13           0         855      869
Swap:          2047           6        2041

可是实际上,cache根据应用程序的需要是可以回收利用的,因此free这一栏并不能真实地表现有多少“可以使用”的内存。实际系统可用内存应该以available数据为准。

linuxatemyram所提到的free命令也许是比较老的版本,我尝试了RHEL 7.2Ubuntu 16.04Arch Linux3Linux发行版,均没有出现used包含cache的情况:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:          64325       47437        3150        1860       13737       14373

另外,从man free命令中也可以得到,目前计算used的值是要减掉freebuff/cache的:

used Used memory (calculated as total – free – buffers – cache)

可以使用-w命令行选项得到buffcache各自使用的数量:

$ free -wm
              total        used        free      shared     buffers       cache   available
Mem:          64325       48287        2476        1859        1430       12131       13524

需要注意的是,free表示的是当前完全没有被程序使用的内存;而cache在有需要时,是可以被释放出来以供其它进程使用的(当然,并不是所有cache都可以释放,比如当前被用作ramfs的内存)。而available才真正表明系统目前可以提供给应用程序使用的内存。/proc/meminfo3.14内核版本开始提供MemAvailable的值;在2.6.27~3.14版本之间,是free程序自己计算available的值;早于2.6.27版本,available的值则同free一样。

参考资料:
Understanding output of free in Ubuntu 16.04
How can I get the amount of available memory portably across distributions?

标签:,

0

HE-API项目简介

Posted by nanxiao on 二月 24, 2017 in 技术 |

HE-API提供一个统一的接口,屏蔽了底层使用的SHE library的细节,使对加密不是很了解的人也可以轻松 […]

标签:, ,

0

CUDA编程笔记(17)——Matrix transpose (shared memory)

Posted by nanxiao on 二月 16, 2017 in CUDA编程笔记 |

An Efficient Matrix Transpose in CUDA C/C++中Coalesced T […]

标签:,

0

与*NIX有关的杂志

Posted by nanxiao on 二月 4, 2017 in 技术 |

本文介绍一些我接触过的与*nix有关的杂志。 首先要提到的就是Linux Journal(官方网址:http: […]

标签:, ,

0

git小技巧(10)——如何同original master进行rebase

Posted by nanxiao on 二月 2, 2017 in git小技巧 |

同original repository的master branch rebase的方法: (1) git f […]

标签:

0

2017年1月总结

Posted by nanxiao on 一月 30, 2017 in 每月简讯 |

工作方面: a)这个月是在调试中度过的:两周调试多线程bug(参考这篇文章:An example of deb […]

标签:

1

如何选择Linux发行版?

Posted by nanxiao on 一月 29, 2017 in 技术 |

@YeimMeMeMes 在其个人社交媒体主页上贴出了一张如何选择Linux发行版的图(原图链接:https: […]

标签:, , ,

0

Linux系统上如何查看进程(线程)所运行的CPU

Posted by nanxiao on 一月 21, 2017 in 技术 |

本文介绍如何在Linux系统上查看某个进程(线程)所运行的CPU,但在此之前我们需要弄清楚两个基本概念: (1 […]

标签:, , ,

0

Linux线程模型浅析

Posted by nanxiao on 一月 14, 2017 in 技术 |

Linux的线程是“轻量级进程”(Light-Weight Process,即LWP)。在Linux系统上运行 […]

标签:,

0

CUDA编程笔记(16)——Shared Memory

Posted by nanxiao on 一月 3, 2017 in CUDA编程笔记 |

这篇笔记摘自Professional CUDA C Programming: Global memory is […]

标签:,

Copyright © 2013-2017 我的站点 All rights reserved.
This site is using the Multi Child-Theme, v2.2, on top of
the Parent-Theme Desk Mess Mirrored, v2.5, from BuyNowShop.com