Olej писал(а):Естественно, что на одноплатном DragonBoard 410c, с дохленьким ARM процессором и 1Gb RAM, это может занимать несколько часов.
Но!
Наблюдая командой top за загрузкой процессов, обнаруживаем, что
поток ядра kswapd0 занимает (меняется, прыгает) 90% и 95% времени процессора. А это значит, что 90-95% времени система, установленная в EMM память
без свопа занимается "тасовкой" активных и неактивных страниц RAM!
Код: Выделить всё
linaro@linaro-alip:~/FaceDL/dlib$ top
Tasks: 127 total, 1 running, 80 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 26.4 sy, 0.0 ni, 51.4 id, 20.6 wa, 0.9 hi, 0.6 si, 0.0 st
KiB Mem : 947380 total, 30484 free, 892304 used, 24592 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 2792 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
689 root 20 0 0 0 0 S 95.2 0.0 5:11.30 kswapd0
1501 root 20 0 0 0 0 S 8.5 0.0 0:22.07 mmcqd/0
5364 root 20 0 817896 764428 1556 D 4.4 80.7 1:29.70 cc1plus
5065 linaro 20 0 7876 700 72 R 3.3 0.1 0:13.32 top
2008 root 20 0 470576 3472 0 S 0.4 0.4 1:02.94 NetworkManager
И только после того, как я:
- установил SD-карту в держатель платы...
- создал раздел для свопа...
- подготовил этот раздел для свопа (это эквивалентно форматированию для раздела данных)...
- назначил своп системы на этот раздел...
Код: Выделить всё
linaro@linaro-alip:~/FaceDL/dlib$ sudo swapon --show
NAME TYPE SIZE USED PRIO
/dev/mmcblk1p2 partition 9.2G 0B -2
Только тогда:
Код: Выделить всё
top - 10:57:02 up 15:34, 4 users, load average: 0.81, 0.42, 0.85
Tasks: 132 total, 2 running, 83 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.1 us, 0.7 sy, 24.0 ni, 73.6 id, 0.2 wa, 0.9 hi, 0.5 si, 0.0 st
KiB Mem : 947380 total, 36856 free, 874064 used, 36460 buff/cache
KiB Swap: 9681916 total, 9608444 free, 73472 used. 17228 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5517 root 39 19 854412 813064 12052 R 97.4 85.8 1:27.30 cc1plus
689 root 20 0 0 0 0 S 0.3 0.0 8:55.57 kswapd0
2008 root 20 0 470576 132 0 S 0.3 0.0 1:09.91 NetworkManager
5040 linaro 20 0 15152 640 568 S 0.3 0.1 0:00.50 mc
5418 root 20 0 0 0 0 S 0.3 0.0 0:00.08 mmcqd/1
5519 linaro 20 0 7876 1828 1192 R 0.3 0.2 0:00.57 top
1 root 20 0 160640 280 0 S 0.0 0.0 0:05.22 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.10 kthreadd
...
И при этом сборка шла
>2 часов непрерывного времени! (это последняя попытка make после предыдущих 30m):
Код: Выделить всё
...
real 97m4.898s
user 69m43.846s
sys 2m50.426s
А без свопа она бы продолжалась 2х(10-20) = 20-40
часов, т.е. 1-2
суток! ... если оно вообще когда-то закончится...