J'ai une instance Postgres qui construit un index GIN. Il s'agit d'environ 200 000 lignes et cela prend environ 9 heures. Qui sait combien de temps cela prendra finalement? Le problème est qu'il utilise environ 2% de CPU quand je voudrais utiliser plus de 90%. Y a-t-il un moyen de le forcer à accélérer?Postgres n'utilise pas assez de CPU pendant la construction de l'index!
Répondre
Le goulot d'étranglement principal est probablement l'E/S du disque et non l'UC. Si vous êtes sur une machine Windows, vous pouvez vérifier les E/S disque en utilisant Process Explorer (freeware), si sous Unix, utilisez iostat, sar, DTrace (ne l'avez pas fait depuis un moment donc pas sûr à 100% du meilleur outil)
Le Moniteur de ressources sous Windows affiche également ceci et vous pouvez généralement facilement voir si la machine est actuellement limitée par le CPU ou par IO. – Joey
Merci! Je suis sur unix (Linux et Mac). Je vais jeter un coup d'oeil aux options. – Joe
Je pense que c'était à cause de la pagination, ce qui a provoqué des débordements. La réponse a été d'augmenter la mémoire de travail par 'set maintenance_work_mem = 102400; – Joe
- 1. Les transformations web.config fonctionnent-elles pendant le cycle de construction/développement, pas seulement pendant la publication?
- 2. Les vérifications de construction ne s'exécutent pas pendant la construction du projet dans CCNet 1.5.6444.5
- 3. Reconstruire la construction automatique de boîtes à pizza de 2 cpu en monstre (s) multi-cpu (s)?
- 4. pas assez de paramètres réels?
- 5. StackOverflowError pendant l'espace de travail de construction
- 6. Exception de mémoire insuffisante? pas assez d'adresse virtuelle: pas assez de mémoire physique
- 7. Fantastico pas assez automatisé
- 8. La construction imbriquée de Psake n'échoue pas
- 9. Pas assez d'arguments pour la chaîne de format
- 10. msbuild/clickonce publie des fichiers générés pendant la construction
- 11. Construction dynamique de l'arbre xml pendant l'exécution en utilisant linq
- 12. Windows se bloque pendant la construction sans tête
- 13. Empêcher Hudson de polling/construction pendant certaines heures
- 14. LoadLibrary échoue lors de l'inclusion d'un fichier spécifique pendant la construction de la DLL
- 15. Impossible de démarrer: pas assez de mémoire avec -Xmx30G
- 16. Mise à jour des références javascript après la réduction pendant le processus de construction
- 17. sun.rmi.server.LoaderHandler.urlsToPath() prend beaucoup de CPU
- 18. JVM ne peut pas utiliser 8 CPU CPU Linux
- 19. ISCmdBld.exe ---- Je ne remplace pas le dernier fichier pendant la construction
- 20. Comment les fonctions de rappel sont utiles pendant la construction et la DLL
- 21. Tests unitaires: est "assez bon" assez bon?
- 22. Utilisation de Python/PySerial et du CPU
- 23. Avg Cpu, URI utilise une quantité de hauteur de cpu
- 24. ADO.NET Entity Modèle de données ne sont pas assez précis
- 25. pas assez de variables pour s'adapter à une sentinelle
- 26. Problème PHP GD - pas assez de permission pour faire l'image?
- 27. vitesse de la mémoire et cpu Comprendre
- 28. CPU ID de processus
- 29. Erreurs de journalisation dans asp.net mvc, méthode OnException pas assez?
- 30. "système Pas assez de mémoire" Erreur dans SQL Server 2008
Etes-vous sûr que les performances sont liées à l'UC? – jball
Non je ne suis pas sûr. Je suis juste surpris par la quantité de CPU qu'il n'utilise pas. Un vidage de toute la table vient à 130 Mo. Il utilise 2.6% de CPU et 2.7% de RAM avec assez de chaque rechange. – Joe
Avez-vous défini une quantité correcte de RAM pour maintenance_work_mem? Edit: Il n'y a pas de verrou bloquant la création de l'index? –