Pourquoi la commande supérieure ne montre-t-elle pas le bon résultat?


2

Vous souhaitez trouver la ligne 3427 1 racine S 36964 124% 2% tmux -L l dans les captures d'écran suivantes de la commande top.

Pourquoi tmux peut utiliser plus de 100% de mémoire? C'est déroutant ...

Est-ce un bug de top commande?

Mem: 28748K used, 1060K free, 0K shrd, 888K buff, 2452K cached
CPU:  15% usr  80% sys   0% nic   3% idle   0% io   0% irq   0% sirq
Load average: 6.47 4.22 2.96 3/78 14674
  PID  PPID USER     STAT   VSZ %MEM %CPU COMMAND
 1028     1 root     S     1536   5%   8% /usr/sbin/pppd pty /usr/sbin/pptp 10.
   81     2 root     SW       0   0%   4% [mtdblockd]
 1477     1 root     S     2616   9%   4% /usr/sbin/collectd -f 
 3427     1 root     S    36964 124%   2% tmux -L l 
 1561     1 root     S      752   3%   1% /usr/bin/luci-bwc -d 
  273     2 root     SW       0   0%   1% [usb-storage]
16393  6202 root     R     1368   5%   1% top 
  955     1 root     S     1420   5%   1% hostapd -P /var/run/wifi-phy0.pid -B 
14299 21514 root     R     1364   5%   1% top 
  345     1 root     S      788   3%   1% /sbin/hotplug2 --override --persisten
  949     2 root     SW       0   0%   1% [irq/39-b43]
 1619     1 root     S     1588   5%   0% /bin/sh /usr/bin/multiwan agent 
   67     2 root     SW       0   0%   0% [kswapd0]
 2540  1619 root     S     1496   5%   0% /bin/sh /usr/bin/multiwan agent 
  329     1 root     S     1372   5%   0% syslogd -C16 
 1826   345 root     S      784   3%   0% /sbin/hotplug2 --override --persisten
 8859  9515 root     S     3468  12%   0% vim python_pydiction.vim 
 1435     1 root     S N   2632   9%   0% smbd -D 
 1507  1506 root     S     2616   9%   0% /usr/sbin/collectd -f 
 1509  1506 root     S     2616   9%   0% /usr/sbin/collectd -f 

Réponses:


5

C'est un bogue (ou peut-être une "fonctionnalité") dans busybox .

busybox top calcule% MEM en tant que VSZ / MemTotal au lieu de RSS / MemTotal.

De https://unix.stackexchange.com/questions/44948/what-do-tops-mem-and-vsz-mean

Rappelez-vous que VSZ est une mémoire virtuelle , il y en a plus qu'il n'y a de mémoire réelle.


pourquoi busybox a-t-il choisi une définition aussi étrange de la taille de la mémoire?
hugemeow

Wow, quelle mesure incroyablement inutile!
David Schwartz

-1

C'est possible si vous avez plusieurs processeurs.

Courir

expr $(grep processor /proc/cpuinfo | cut -d: -f2 | tail -1) + 1

pour voir combien de processeurs vous avez; cela va trouver les processorlignes, prendre le dernier chiffre et l'incrémenter d'un. La commande grepcherche processor, cutprend la partie après :et tailprend la dernière ligne, exprest ensuite utilisée pour incrémenter 1 de celle-ci; vous pouvez exécuter mansuivi d'une telle commande pour déterminer comment une commande donnée est utilisée.


Je vois maintenant que vous parlez de mémoire ...
mantra

1
Si vous pensez que cette réponse est incorrecte, il peut être préférable de la supprimer.
bwDraco
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.