Je trouve que la sortie de la commande shell top
est un moyen simple et familier d'avoir une idée approximative de la santé d'une machine. Je voudrais servir top
la sortie (ou quelque chose de très similaire) à partir d'un petit serveur Web sur une machine à des fins de surveillance brute.
Existe-t-il un moyen d'obtenir en haut d'écrire sa sortie textuelle exactement une fois , sans formater les caractères? J'ai essayé ça:
(sleep 1; echo 'q') | top > output.txt
Cela semble être proche de ce que je veux, sauf que (1) il n'y a aucune garantie que je n'obtiendrai pas plus ou moins d'un écran d'informations et (2) je dois supprimer tous les caractères de formatage du terminal.
Ou existe-t-il une autre top
commande similaire qui répertorie les informations sur la mémoire / l'utilisation du processeur / la disponibilité à l'échelle de la machine et au niveau du processus?
(Idéalement, j'adorerais une stratégie portable à la fois pour Linux et Mac OS X, car nos développeurs utilisent des Mac et notre environnement de production est Linux.)
la source
top
sous OS X pris en charge l'indicateur -b. :-( Malheureusement, ce n'est pas le cas, et je ne vois pas de versiontop
disponible via homebrew. Cela semble être exactement la bonne réponse pour Linux, tho./usr/bin/top -l 1
sur OSX 10.9.4 est parfait ... merci! Quant à l'installation de GNU top, je pourrais l'installer sur ma machine, mais je devrais convaincre les autres développeurs de l'installer sur leurs machines pour que mon code fonctionne pour eux, alors je préfère éviter cela. (Si ce n'est pas disponible via homebrew, il y aura de la résistance.) Maintenant que je changerai en fonction de la plate-forme, je vais être gourmand ... êtes-vous au courant de tout semi-équivalent de Windows, donc ces développeurs (nous avons quelques-uns) peut également avoir une page d'état brut? (Sinon, ça va, votre réponse est déjà super utile!)top -l 2
et jeter la première page d'échantillons?Pour obtenir des numéros de type similaires à partir d'un système Windows, vous voudrez jeter un œil à PowerShell.
Juste pour obtenir une liste des processus que vous regardez
get-process
. Jetez un oeil à cette référence .En faisant quelques recherches supplémentaires, j'ai trouvé une jolie petite commande ici .
Si vous sortez de la boucle while présentée, vos besoins seraient:
ps
dans powershell est un alias pourget-process
.la source