我还有一个关于“我的 Linux 内存在哪里”的问题
问题是:我可以将缓存用于应用程序数据吗?
在我的笔记本电脑上,我有 1GB 内存。工作一段时间后的情况:浏览器占用 400MB,所有其他应用程序占用 300MB(在系统监视器中快速汇总)。系统监视器说我使用了 90% 的 RAM,并且我已经有 200MB 的交换空间。当我开始新事物(例如在浏览器中打开新标签或打开新 Nautilus 窗口)时,笔记本电脑变得越来越慢。可能将内存放在交换上
所以应该使用 1200MB (ram+swap) 但我看到的所有应用程序只使用 600MB。其他600MB在哪里?在这 600MB 中,有 400MB 实际 RAM。
我不是在复制或任何其他大规模的 IO 活动。
我读到了 Linux 巧妙地使用了它使用缓冲区和缓存的所有内存。因此,内核(缓存)使用 300MB。如果我不想镜像磁盘并且我想将内存用于应用程序数据(例如新的浏览器选项卡)怎么办?我不需要 200MB 的镜像磁盘数据,因为我(例如)不会使用在我刚刚看到的数据分区上打开相同的照片。
那么我可以将所有RAM 用于应用程序数据吗?(包括浏览器、桌面、xorg、其他服务)。如何?
应用程序自己使用 ram;你不必做任何事情。应用程序未使用的任何 ram ISN 都用于缓存最近访问的文件,以在再次需要它们时加快处理速度,因此在两者之间,ram 使用率通常接近 100%。当应用程序请求更多内存时,缓存会放弃它。
尝试将 swapiness 设置为 100,它应该可以提高机器的性能并通过更密集地使用交换来避免冻结,只保留内存中的活动。
看这里怎么做: https://help.ubuntu.com/community/SwapFaq#What%20is%20swappiness%20and%20how%20do%20I%20change%20it?