Linux 在一定的物理内存下运行程序?

Linux 在一定的物理内存下运行程序?,linux,Linux,我想在我的Dreamhost Linux主机中安装qt。正如您所知,任何托管服务都会限制其用户资源,如CPU和内存。链接QT时,会导致ld链接器内存超过400米,然后被Dreamhost的进程监视器杀死。。。 我在谷歌上搜索了几个小时,却找不到问题的真正答案。我正在搜索Linux命令实用程序,它可以在一定的物理内存下运行程序。我的意思是,我可以将其作为: memory-limit -m 200M ld ld-args ... 然后,ld将在200M物理内存下运行,但这并不意味着ld不能

我想在我的Dreamhost Linux主机中安装qt。正如您所知,任何托管服务都会限制其用户资源,如CPU和内存。链接QT时,会导致ld链接器内存超过400米,然后被Dreamhost的进程监视器杀死。。。 我在谷歌上搜索了几个小时,却找不到问题的真正答案。我正在搜索Linux命令实用程序,它可以在一定的物理内存下运行程序。我的意思是,我可以将其作为:

 memory-limit  -m 200M  ld ld-args ... 
然后,ld将在200M物理内存下运行,但这并不意味着ld不能分配超过200M的内存。当ld分配超过200M时,物理内存不会增加,将使用交换磁盘。ld内存的RES部分不会超过200米

我知道,我需要的功能听起来像一个虚拟机,我想知道KVM是否可以提供这样的功能。我真的很想知道是否有这样的工具……:)如果你对此有所了解,请帮忙


谢谢

如果这只是关于编译QT,最简单的解决方案是在其他地方编译它(可能是一个具有相同操作系统和arch的虚拟机),然后只复制二进制文件。

添加一些交换空间;Linux可以在一个文件上进行交换,因此如果您可以创建几GB的交换文件,就可以完成链接


然而,您确实应该能够为Dreamlinux获得一个二进制软件包并安装它,而不是在那里编译QT。

您是否尝试过减少依赖性?我假设您根本不在web应用程序中使用GUI,也许您只需要QtCore共享库,它应该要小得多


默认情况下,qmake链接到QtGUI。

不完全回答您的问题,但您可以尝试在设置以下选项的情况下运行ld,这可能会提高其生存的机会:

  • --无保留内存
  • ——减少内存开销

我添加了这两个选项,这使qtgui链接正确。但是仍然在qtwebkit上保存文件…啊,但是我真的想在服务器上构建它,:)这有什么好处?