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 
hugemeow
la source

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.

RedGrittyBrick
la source
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.

mantra
la source
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