top 명령이 올바른 결과를 표시하지 않는 이유는 무엇입니까?

top 명령이 올바른 결과를 표시하지 않는 이유는 무엇입니까?

당신은 선을 찾고 싶습니다3427 1 루트 S 36964 124% 2% tmux -L l다음은 top 명령의 스크린샷입니다.

tmux가 메모리를 100% 이상 사용할 수 있는 이유는 무엇입니까? 혼란스럽네요...

이것은 최고 명령의 버그입니까?

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 

답변1

이는 버그(또는 "기능"일 수도 있음)입니다.비지박스.

busybox top은 RSS/MemTotal 대신 VSZ/MemTotal로 %MEM을 계산합니다.

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

VSZ는가상 메모리, 실제 기억보다 더 많은 것이 있습니다.

답변2

프로세서가 여러 개인 경우 가능합니다.

달리다

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

보유하고 있는 프로세서 수를 확인하려면 이렇게 하면 processor행을 찾아 마지막 숫자를 가져와서 1씩 증가시킵니다. 명령은 grepsearch 를 수행 processor하고 cut그 뒤의 부분을 가져와서 :마지막 tail줄을 가져온 다음 expr1을 증가시키는 데 사용됩니다. man특정 명령이 어떻게 사용되는지 알아내기 위해 해당 명령 다음에 실행할 수 있습니다 .

관련 정보