Mael Abgrall Asked: 2018-03-26 02:11:19 +0800 CST2018-03-26 02:11:19 +0800 CST 2018-03-26 02:11:19 +0800 CST 交换分区最大空间&功能 772 所以我是 ram 昂贵的应用程序的新手,我真的不知道交换是如何工作的...... 我只有 10GiB 的内存(它是一个虚拟机)和 500GB/1TB 的可用硬盘空间 Java 应用程序需要大约 150/200GiB 的内存才能运行,但我可以将其减少到 64GiB。我认为不是所有东西都同时加载,但Java仍然需要分配堆空间 我应该分配多少交换空间?它将如何运作?操作系统将如何响应?(我知道它在 ram 已满/减少 ram 使用时使用,但遗憾的是我没有找到更多有用的信息) swap ram 1 个回答 Voted Best Answer Hauke Laging 2018-03-26T03:28:28+08:002018-03-26T03:28:28+08:00 (可用)物理 RAM 和交换空间的总和必须大于内核和所有正在运行的进程分配的 RAM 总量。当然,使用大量交换空间可能会使系统非常缓慢。 因此,如果除了您的应用程序之外没有什么需要大量内存,那么您应该至少有 65GiB 即 55GiB 交换空间。 很难说是 Linux 还是您的应用程序在内存管理方面更有效。因此,我建议分配 210GiB 用于交换(我才意识到这听起来多么疯狂……)并将应用程序性能与不同的应用程序内存设置进行比较。 您可以更改正在运行的系统中的交换空间量,例如,如果您有 LVM 和多个可用于交换的 LV。见man swapon。
(可用)物理 RAM 和交换空间的总和必须大于内核和所有正在运行的进程分配的 RAM 总量。当然,使用大量交换空间可能会使系统非常缓慢。
因此,如果除了您的应用程序之外没有什么需要大量内存,那么您应该至少有 65GiB 即 55GiB 交换空间。
很难说是 Linux 还是您的应用程序在内存管理方面更有效。因此,我建议分配 210GiB 用于交换(我才意识到这听起来多么疯狂……)并将应用程序性能与不同的应用程序内存设置进行比较。
您可以更改正在运行的系统中的交换空间量,例如,如果您有 LVM 和多个可用于交换的 LV。见
man swapon
。