将使用过的内存转移到交换区并释放更多的物理内存

将使用过的内存转移到交换区并释放更多的物理内存

我有一个具有 256m 物理 RAM 和 512m 交换空间的 vps,

我正在尝试使用需要大于 256m 且小于 512m RAM 的软件,因此它使用交换。

问题在于,在安装的某个时刻,安装过程会检查可用的物理内存,发现它已满(使用了一些交换空间),因此它会暂停安装,直到必须有更多的内存才能继续安装。

我发现我需要在进程运行时移动一些使用的物理内存来交换。有什么办法吗?或者有其他解决方案!

抱歉,我使用的是 openvz vps,并且无法修改 vm.swappiness 选项作为解决方案。

答案1

使用 OpenVZ 容器,事实并非如此,如果这只是为了安装特定的软件,那么您的选择是:

1)要求你的主机在你安装时增加内存一小时(大多数人对此都没有意见)

2)尝试删除内存缓存,以释放足够的内存来进行安装“echo 3 > /proc/sys/vm/drop_caches”

例子:http://www.hosting.com/support/linux/clear-memory-cache-on-linux-server/

删除缓存功能是一个非破坏性的过程,因为 OpenVZ 在终止您的进程时会查看您正在使用的内存以达到硬限制,其中包括缓存的 RAM 值,删除缓存会影响性能,但只是短期的,可能只释放足够的空间来完成您的安装。

当 CentOS 5.5(可能是 5.6 或 5.7)中发布新软件包时,这是在 OpenVZ 上安装文件系统包的常用方法

尽管下面有毫无根据的负面评论,但如果你不想支付升级费用,或者你的房东不会给你提供临时升级,这是你唯一的选择

相关内容