Charge élevée sur OS X Server

1

J'utilise OS X Server (5.2 sur 10.12.2) sur un Mac Mini fin 2014 avec 8 Go de RAM et 2,6 GHz i5. La charge est toujours comprise entre 3,5 et 6, même si aucune application n'est en cours d'exécution. Même en haut en tant que root, je ne vois aucun processus utilisant beaucoup de temps processeur.

Le serveur gère certains services dans notre bureau de 10 personnes.

  • Partage de fichiers pour 1 hôte NFS
  • Calendrier et contacts
  • Profile Manager avec VPP et DEP (MDM) pour 10 téléphones et Mac
  • VPN pour les administrateurs (alors peut-être une fois par semaine un login)
  • DNS pour le réseau local avec 1 zone
  • Open Directory pour MDM et un autre NAS de sauvegarde

Time Machine sauvegarde le serveur, mais à part cela, aucun logiciel ou service n'est en cours d'exécution.

Je suis presque sûr que tout a commencé avec la dernière mise à jour de Sierra et OS X Server ou du moins je ne l'ai jamais vue arriver auparavant.

system.log semble normal avec quelques messages launchd de quicklook toutes les 5 minutes, mais rien d’inhabituel à part.

Tous les autres journaux semblent normaux, sans message d'erreur continuellement répété ou quelque chose du genre.

iostat semble normal:

iostat
           disk0               disk2       cpu    load average
KB/t   tps  MB/s     KB/t  tps  MB/s  us sy id   1m   5m   15m
24.68   16  0.39     5.99    0  0.00   1  1 97  3.18 3.98 4.20

et le dernier mais non le moindre la ligne du haut du haut

Processes: 423 total, 2 running, 421 sleeping, 1223 threads                                                                                                                                                                                                        17:30:02
Load Avg: 4.23, 4.08, 4.16  CPU usage: 0.24% user, 1.21% sys, 98.53% idle  SharedLibs: 256M resident, 46M data, 60M linkedit. MemRegions: 43391 total, 3896M resident, 175M private, 585M shared. PhysMem: 7872M used (1886M wired), 318M unused.
VM: 1090G vsize, 621M framework vsize, 91454(0) swapins, 116522(0) swapouts. Networks: packets: 32147266/24G in, 47494932/42G out. Disks: 1354379/36G read, 1681454/35G written.

Des idées où chercher ou que se passe-t-il?

Edit: Pour clarifier, il n'y a pas de processus en cours expliquant les moyennes de charge élevées. Et dans mon expérience, quelque chose comme ceci pourrait provenir d'une mémoire corrompue ou d'un disque dur.

uptime
19:35  up 2 days,  6:19, 3 users, load averages: 5.17 4.96 4.54 

Y a-t-il autre chose à regarder que les fichiers journaux?

Tous mes serveurs SMP basés sur Linux fonctionnent avec des charges de 0.xx et j'ai un peu peur qu'il n'y ait un problème plus grave quelque part.

Meiko Watu
la source
Assurez-vous de courir topet iostatavec des intervalles de sommeil de 30 ou 60 secondes. Lorsqu'elles se rafraîchissent trop rapidement, cela entraîne des valeurs de charge artificiellement élevées.
bmike

Réponses:

1

Cette charge me semble tout à fait normale pour le serveur. Un processeur de 98,53% inactif semble tout à fait excellent pour une charge de serveur légère. Inutile de comparer directement la charge moyenne macOS du noyau de Mach avec Linux, AIX, BSD ou un autre système UNIX, car l'architecture sous-jacente est différente ici.

Ce qui se traduit par un système UNIX traditionnel est de compter les threads actifs et de surveiller l’utilisation globale du processeur. Avec plus d'un millier de threads en cours d'exécution (un tiers est peut-être suffisamment inactif pour être marqué "en veille"), je ne voudrais pas essayer de modifier ou de changer quoi que ce soit si je le voyais sur l'un de mes centaines de serveurs de production Mac et OS X .

Si vous êtes vraiment curieux, je top -u -s 60laisserais le système atteindre une position neutre (dans iostatla moyenne de 15 m que vous indiquez est supérieure à la moyenne de 1 m, ce qui signifie que l'utilisation du processeur a tendance à baisser - lorsque les trois valeurs sont à peu près identiques, bon neutre à mesurer). Exécutez- sysctl hw.logicalcpuvous également pour normaliser la valeur que vous voyez pour les cœurs disponibles. Même si votre charge est supérieure à la CPU disponible, le problème ne devrait pas être le cas si vos contraintes concernent l'IO, le réseau ou un autre ordinateur que la CPU.

Quels sont les 5 principaux processus utilisant le processeur lorsque l'actualisation est lente top? Celles-ci causeront probablement le plus de problèmes dans votre situation.

bmike
la source
Merci de votre réponse, mais le 98,53% d’inactivité correspond à la charge actuelle du processeur. Je parle de la charge moyenne. ce qui est beaucoup trop élevé. avec 4.96 à la dernière minute, etc. en.wikipedia.org/wiki/Load_(computing) . Le système fonctionne depuis 2 jours maintenant avec une telle charge, j'ai vérifié hier soir et la charge était d'environ 3 et maintenant, elle est encore plus élevée, avec le système ne servant que 2 personnes dans le bureau. Toutes les "tâches les plus importantes" utilisent 0,1 ou 0,05 CPU. C'est ce sur quoi je m'interroge
Meiko Watu
1
La moyenne de charge de @ MeikoWatu peut être trompeuse, en particulier sur les processeurs multicœurs (c.-à-d. Tout ordinateur moderne). Vous pouvez avoir une idée plus précise de la charge du processeur dans l'utilitaire de surveillance d'activité en ouvrant la fenêtre d'utilisation du processeur (menu Fenêtre> Utilisation du processeur ou Commande-2). Cela affichera un affichage continu de la mesure dans laquelle chacun de vos cœurs de processeur est actif ou inactif.
Gordon Davisson
Merci @GordonDavisson, mais au cours de mes presque 20 ans d’expérience avec les serveurs linux, la charge moyenne et les processus peu consommateurs entraînent toujours des problèmes, tels que des disques durs défectueux, une mémoire insuffisante ou d’autres choses vraiment mauvaises. Je suis assez méfiant à ce sujet, car tous les autres serveurs (linux) ici fonctionnent avec une charge moyenne de 0.xx à un maximum de 1,2x. Je pensais qu'il pourrait y avoir quelqu'un ici avec des problèmes similaires. Désolé aurait dû demander plus en détail.
Meiko Watu
Gardez à l'esprit - sur le noyau macOS - la charge moyenne ne divise pas par CPU logique - donc si vous avez 8 cœurs, divisez vos valeurs par 8. Le fait de sysctl hw.logicalcpuregarder ceci est un simple avertissement - vous étiez bon à regarder quand vous l'avez vu monter en puissance . Mais ensuite, regardez autour de vous et assurez-vous que vous n'échangez pas ou ne lie pas le processeur, puis réinitialisez vos attentes sur "normal" sur ce matériel / système d'exploitation, votre charge moyenne. @MeikoWatu
bmike
1
ahh merci @bmike qui fait tellement de sens maintenant! Désolé, je ne savais pas que la charge moyenne ne se divisait pas sous osx!
Meiko Watu