- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一台服务器运行一个 erlang 应用程序,比如 riak..
问题之前,内存使用是这样的
但是过了很长时间,缓存被清除了,系统开始使用交换。
现在我有两个问题..
为什么系统会释放缓存?这导致系统的IO比以前高的问题
为什么系统还有足够的内存,但是swap还在使用..
以下是最重要的信息:
更新:这个问题又来了..
因为我已经运行命令
所以系统不使用swap,系统运行良好。
sudo swapoff -a
现在的问题是为什么系统发布页面缓存了..?
而系统会释放pgae缓存是什么情况呢?
更新:我已经解决了这个问题..
我从《Understanding Linux Kernel》一书中得到了答案
书上说如果有足够的空闲内存,页面会无限期地保存在缓存中,然后可以被其他进程重用,而无需访问磁盘。
我认为这意味着如果页面缓存在系统中停留很长时间,系统将释放缓存。
在我阅读了 linux 源码之后,我会更新它。为什么系统有足够的内存也会释放页面缓存?
谢谢
更新
如果我们在进程发现内存不足时交换内存,那么进程需要很长时间才能获得足够的内存。它需要调用页框回收。
后端有一个 global_reclaim。不检查swappiness值
最佳答案
查看正在运行的进程(例如:mysql、java 等...)
如果您为这些进程设置的内存限制过低,有时它们需要更多,则丢失的内存不会被带到缓冲区,而是在交换上。
我认为这可以解释你的问题。
关于linux - 为什么linux有足够的内存但是使用了swap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25398962/
对于我的问题,我找不到更好的措辞。 在我的应用程序中的某个时刻,我设置了一些非常密集的动画。问题是,在高端设备上,动画运行流畅且赏心悦目。另一方面,我测试过的一台低端设备在制作动画时表现非常糟糕。 试
我正在修补 OTP 模块 ( yubico_pam ),并尝试访问管理员选择的控制标志(例如必需,足够, ETC)。 有什么想法吗?这是否可行(无需解析文件)? 最佳答案 无法在 API 中查询此信息
我有一些为 Linux 编写的 C 代码,依赖于套接字和 arpa/inet.h 以及 libusb.h,我想在 MinGW 下为 Windows 编译它。 (请注意,当前项目只有一个非常简单的 Ma
我是一名优秀的程序员,十分优秀!