2010-01-17 5 views
2

Je veux installer qt dans mon hôte Linux Dreamhost. Comme vous le savez, tout service d'hébergement limitera les ressources de ses utilisateurs telles que le processeur et la mémoire. En liant QT, cela causera plus de 400M de mémoire à l'éditeur de liens ld, et ensuite il sera tué par le moniteur de processus de Dreamhost ... J'essaye de google pendant des heures sans trouver de vraie réponse à mon problème. Je suis à la recherche d'utilitaire de commande Linux qui peut exécuter un programme sous une certaine quantité de mémoire physique. Je veux dire, je peux courir comme:Exécuter un programme avec une certaine quantité de mémoire physique?

memory-limit -m 200M ld ld-args ... 

Et puis, ld courrai mémoire physique sous 200M, mais cela ne signifie pas ld ne peut pas allouer plus de 200M. Lorsque ld allouer plus de 200M, la mémoire physique n'augmentera pas, et il utilisera swap disk. Et la partie RES de la mémoire de LD ne dépassera pas 200M ...

Je sais, la fonctionnalité dont j'ai besoin ressemble à une machine virtuelle, je me demande si KVM peut fournir une telle fonctionnalité. Je me demande vraiment s'il existe un tel outil ... :) S'il vous plaît aidez si vous savez quelque chose à ce sujet.

Merci!

Répondre

0

S'il s'agit simplement de compiler QT, la solution la plus simple est de le compiler ailleurs (une machine virtuelle avec le même système d'exploitation et l'architecture peut-être?) Et de copier les binaires.

+0

Ah, mais Je veux vraiment le construire dans le serveur, :) –

+0

Quel est l'avantage de cela? –

1

Ajouter de l'espace de permutation; Linux peut échanger un fichier, donc si vous pouvez créer quelques gigaoctets de fichier d'échange, la liaison sera établie.

Cependant, vous devriez vraiment être en mesure d'obtenir un paquet binaire pour Dreamlinux et simplement l'installer, plutôt que d'essayer de compiler QT là-bas.

0

Avez-vous essayé de réduire les dépendances? Je suppose que vous n'utilisez pas du tout d'interface graphique pour les applications Web, peut-être que vous avez besoin seulement de la bibliothèque partagée QtCore qui devrait être significativement plus petite.

Par défaut, les liens qmake avec QtGUI.

+0

J'ai besoin de QtWebkit, et il a besoin de QtGUI, donc ... –

0

Pas tout à fait une réponse à votre question, mais vous pouvez essayer d'exécuter ld ces options sont définies, ce qui peut améliorer ses chances de survie:

  • --no-keep-memory
  • --reduce-memory-overheads
+0

J'ai ajouté ces deux options, et cela a rendu le lien qtgui correct. Mais toujours le fichier sur qtwebkit ... –

Questions connexes