Kon*_*rus 34 memory swap ubuntu
我有一个运行数据库和一堆 Java 应用程序服务器的 Ubuntu 8.04 服务器。其内存配置和使用情况为:
total used free shared buffers cached
Mem: 16456176 15930028 526148 0 81372 9674196
-/+ buffers/cache: 6174460 10281716
Swap: 1951888 366100 1585788
Run Code Online (Sandbox Code Playgroud)
我注意到交换每天下午都会增加,并在晚上的某个时间释放。每一天的需求都不一样,而且开始的时间也不同。所以它是非常随机的,除了模糊的“下午 - 晚上”边界。
这台机器上的负载在白天变化。它在午夜和早上 6 点到 7 点之间非常低,在下午 6 点到 8 点之前要高得多(但稳定),然后逐渐下降。
现在我有以下问题:
Gil*_*il' 28
您描述的交换使用模式听起来并不奇怪。它们与具有很少使用的页面的一些永久运行的进程一致。白天,由于活跃度很高,很少使用的页面几乎总是在交换中。到了晚上,RAM 中有更多空间供它们使用。
您可以大致了解每个进程在top
或 中使用了多少各种类型的内存htop
。默认情况下都不显示交换使用情况,但都可以配置为(顶部:按下f
并打开SWAP
列;htop:按下F2,添加NSWAP
列)。你可以得到关于与特定进程的详细信息cat /proc/12345/vmstat
,其中12345
是进程ID。请注意,“程序使用了多少交换空间”并没有完全明确定义,因为一些页面被多个进程共享。
RAM 有两种主要的竞争者:进程内存(可以换出)和磁盘缓存(可以从文件中重新读取)。没有理由总是将进程内存优先于磁盘缓存:换出进程内存中很少使用的部分比一次又一次地将文件读入内存要好。您给出的数字,大约一半(比如 30%–70%)的内存专门用于磁盘缓存,对于具有合理数量的 RAM 来执行它们应该执行的任务的系统来说是典型的。
归档时间: |
|
查看次数: |
33646 次 |
最近记录: |