内存使用情况
2016-03-03 16:36
211 查看
第一行所列出的是当前的内存的使用情况
第二行则是swap交换空间的使用情况。
系统中used并非全部的被使用的内存。由于当Linux将一根文件加载到RAM中。当程序用完这个文件的时候。不须要将它从RAM中移除。假设还有可用的RAM,Linux将会在RAM中缓存这个文件,这样假设一个程序再次訪问这个文件,訪问速度将会得到大幅度的提升。
假设系统的确须要为活动进程提供RAM,那么RAM将不会缓存这么多文件。由于文件缓存的存在。通常在server执行相当长的一段时间后,都会显示仅有少量RAM空暇。而其余的都被缓存占用。
想要找出进程究竟真正使用了多少RAM,你必须刨除RAM中的文件缓存。就比方上图已用的1821904K的RAM有70636K是被缓存所使用。所以实际上仅仅有1751268K的是被使用的。假设两个相减得出的值非常大,swap空间使用也非常大,就可能是内存的问题。
注:内存中的内容被换出到交换区,而后又被换入到内存。但使用过的交换区尚未被覆盖。
该数值(cached数值)即为这些内容已存在于内存中的交换区的大小。对应的内存再次被换出时可不必再对交换区写入。
在top中输入M就能够使之依照内存的使用情况排序。
在linux内核中也有一个内存耗尽(OOM)终结者,假设低内存导致系统执行危急。它就会介入。当系统内存快要耗尽的时候。OOM终结者就会開始终止进程。有些情况下,终止的可能是占用大量RAM的进程。可是它并不可以保证不会终止未占用大量RAM的进程。这样系统可能会变得不大稳定。所以你不得不重新启动机器以确保全部的系统进程都在正常执行。假设OOM终结者介入,在/var/log/syslog中会看到进程杀死的数据。
相关文章推荐
- libsvm使用说明
- MVC5+EF6 入门完整教程五
- 深入JAVA虚拟机笔记
- android笔记
- JVM延迟加载单例模式
- Java 命令参考
- php 创建守护进程
- MySQL中insert语句的使用与优化教程
- Android Volley完全解析(三),定制自己的Request
- Java抽象类和接口
- shell变量的组合变量
- iOS开发对于第三方类库的管理-cocoapods
- matlab如何查看已经出来的图片窗口中物体的各向视图
- html中的块状元素和内联元素
- MYSQL日常操作命令再熟悉
- MVC5+EF6 入门完整教程四
- hdu 3518 Boring counting 后缀数组
- AP核MAILBOX地址的初始化和启动过程(基于ARM64 的 APCI Parking protocol)
- [C++] C++学习代码
- Android通过自定义View实现随机验证码