Git push - sous-optimale pack de mémoire
J'ai vraiment pu utiliser un peu d'aide ici.
Je viens de créer un nouveau nu repo à agir comme un objectif de production dev pousse.
J'ai également le travail web directory sur le serveur comme un repo git.
Le serveur est en cours d'exécution git 1.7.4.1 sur centos5.5
Après la création du nouveau repo dans le répertoire web, j'ai effectué une commande git add .
Cela était le cas jusqu'à quelque chose comme 2300 & des fichiers bizarres & plus de 230 insertions.
J'ai fait un commit des fichiers nouvellement ajoutés base. Allé belle et propre.
Quand j'ai fait un git push origin master cependant, il continue de me donner ce (veuillez noter que j'ai 8 Processeurs, donc les 8 threads. docs disent que c'est normal);
# git push --mirror
Counting objects: 2000, done.
Delta compression using up to 8 threads.
warning: suboptimal pack - out of memory
fatal: inflateInit: out of memory (no message)
error: failed to push some refs to '/home/ggadmin/gg-prod.git'
J'ai essayé les choses suivantes pour résoudre ce problème, mais tous donnent les mêmes résultats;
git repack -adf --window-memory=100m
^ tried running this up to 1024m. Same result.
Même essayé de faire une force de pousser, mais j'ai reçu la même chose, seulement avec un malloc erreur;
# git push -f origin master
Counting objects: 2000, done.
Delta compression using up to 8 threads.
warning: suboptimal pack - out of memory
fatal: Out of memory, malloc failed (tried to allocate 2340 bytes)
error: failed to push some refs to '/home/ggadmin/gg-prod.git'
J'ai travaillé sur cette question depuis 2 jours maintenant et essayé à peu près tout ce que je peux trouver sur google et ici sur.
J'ai atteint mon bout de ressources à essayer de corriger cela. S'il vous plaît dites-moi que quelqu'un ici sait ce qui peut être fait pour faire ce travail?
postBuffer
? stackoverflow.com/questions/6842687/...Veuillez expliquer ce que vous entendez, VonC que ce terme est nouveau pour moi en ce qui concerne le dépôt Git.
Je me demandais si
git config --global http.postBuffer 524288000
ne serait pas en mesure de faire votre travail.Je peux certainement essayer. Je suis actuellement à mon bureau, donc je vais devoir attendre jusqu'à ce que je rentre à la maison pour voir si cela fonctionne. Merci, VonC! 🙂
OriginalL'auteur Skittles | 2012-03-05
Vous devez vous connecter pour publier un commentaire.
git config pack.threads 1
(en plus de la mémoire d'autres options limitées, commecore.bigfilethreshold
dans les nouvelles versions Git)Vous pouvez envisager d'extériorisation de grandes choses repo git (gestion des versions), ou d'utiliser une autre approche pour la tâche. Git est probablement essayer de trouver des blocs similaires dans l'ensemble de vos données. Essayez de régler
core.bigfilethreshold
option (git >= v1.7.6)Merci encore, Vi! Malheureusement, je suis en utilisant v1.7.4.1. Mais je vais garder que le haut de mon Git connaissance des éléments.
OriginalL'auteur Vi.
La commande suivante résolu le problème pour moi:
Cela affecte l'efficacité de la compression delta de sorte que vous pourriez vouloir essayer une taille plus grande que la première, quelque chose comme 1g, en fonction de votre matériel et de votre bande passante.
Plus de détails ici: https://www.kernel.org/pub/software/scm/git/docs/git-pack-objects.html
OriginalL'auteur keremispirli
OriginalL'auteur miguelbemartin
J'ai eu le même problème avec un git clone. L'opération a été de 25 go. J'ai utilisé une autre commande, pour moi, c'nécessaire racine de contrôle de la source,
après ce que j'étais capable de s'engager et tirez tout comme n'importe quel autre référentiel.
OriginalL'auteur Ashitakalax
Je sais que c'est un peu en retard dans le jeu, mais depuis on m'a aidé (merci @Ashitakalax), voici mes deux cents.
Même problème que ci-dessus (inflateInit: de mémoire) lorsque le déplacement modifications de WordPress dev exemple en amont de test, git abandonne avec de la mémoire et c'est régulièrement en raison des changements sur le ../uploads/répertoire contenant les fichiers d'image. Tout cela dans un ordinateur hôte partagé avec aucun accès à l'git config de sorte que nous n':
pour enregistrer les modifications
de déplacer la majeure partie de l'image des corrections/modifications
pour suivre les nouveaux trucs sur le test côté des choses
maintenant récupérer le reste de l'opération
et, enfin, de fusion...
Le rsync peu éclaircit git charge et tout est bien.
OriginalL'auteur cucu8
Aucune de ces réponses m'ont aidé. Mon problème était que mon petit serveur dispose de 1 go de RAM et pas de SWAP. Je maked
sudo service apache2 stop
&sudo service mysql stop
+ tuer une partie inutilisée du processus dehtop
(après tout ce que je reçois ~100 mo de RAM) etgit push
correcte.OriginalL'auteur Vitaly Zdanevich
Dans mon cas, j'avais déjà réduit mon serveur virtuel de la mémoire pour rien afin de supprimer le fichier d'échange pour que je puisse gratuit de la partition et augmenter la taille de ma partition principale. Cela a eu pour effet de réduire mon mémoire de travail, et le résultat a été que git a été impossible de traiter de gros fichiers. Après une augmentation de ma mémoire virtuelle de nouveau tout a été trié.
OriginalL'auteur MrJedi2U