Por que o comando top não mostra o resultado correto?

2

Você deseja encontrar a linha 3427 1 raiz S 36964 124% 2% tmux -L l nas seguintes capturas de tela do comando principal.

Por que o tmux pode usar mais de 100% da memória? Isso é confuso ...

Isso é um bug do comando principal?

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 
    
por hugemeow 27.09.2012 / 18:00

2 respostas

5

É um bug (ou talvez um "recurso") em busybox .

busybox top calculates %MEM as VSZ/MemTotal instead of RSS/MemTotal.

De link

Lembre-se de que o VSZ é memória virtual , há mais do que a memória real.

    
por 27.09.2012 / 20:45
-1

É possível se você tiver vários processadores.

Executar

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

para ver quantos processadores você tem; isso irá encontrar as linhas processor , pegar o último número e incrementá-lo em um. O comando grep pesquisa processor , cut assume a parte depois de : e tail ter a última linha, expr é então usado para incrementar 1 para ela; você pode executar man seguido por tal comando para descobrir como um determinado comando é usado.

    
por 27.09.2012 / 19:23