lb build
può costruire un'immagine di sistema dal vivo e invoca molti processi durante la creazione dell'immagine. Se lo avvio come di seguito:
# nice -n 19 ionice -n 7 -c 3 lb build
tutti i processi per bambini ottengono lo stesso buon livello:
PID USER IORR IOWR IO IO PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
26196 morfik 0 0 0 B4 20 0 23888 672 668 S 0.0 0.1 0:00.24 │ ├─ -bash
30926 root 0 0 0 B4 20 0 53668 536 536 S 0.0 0.1 0:00.02 │ │ └─ su -
31008 root 0 0 0 B4 20 0 34656 6260 1144 S 0.0 0.6 0:02.60 │ │ └─ -su
11784 root 0 0 0 ?? 39 19 4496 796 524 S 0.0 0.1 0:00.01 │ │ └─ /bin/sh /usr/lib/live/build/build
11797 root 0 0 0 ?? 39 19 4328 612 512 S 0.0 0.1 0:00.00 │ │ └─ /bin/sh ./auto/build
11806 root 0 0 0 ?? 39 19 7028 604 504 S 0.0 0.1 0:00.00 │ │ ├─ tee build.log
11798 root 0 0 0 ?? 39 19 4496 824 532 S 0.0 0.1 0:00.01 │ │ └─ /bin/sh /usr/lib/live/build/build noauto
11915 root 0 0 0 ?? 39 19 4496 836 544 S 0.0 0.1 0:00.01 │ │ └─ /bin/sh /usr/lib/live/build/bootstrap
12753 root 0 0 0 ?? 39 19 4496 856 548 S 0.0 0.1 0:00.02 │ │ └─ /bin/sh /usr/lib/live/build/bootstra
12867 root 0 0 0 ?? 39 19 62980 3508 2132 S 11.2 0.3 0:07.00 │ │ └─ aptitude --assume-yes update
12943 root 0 0 0 ?? 39 19 24296 1916 1568 S 0.0 0.2 0:00.14 │ │ ├─ /usr/lib/apt/methods/xz
12927 root 0 0 0 ?? 39 19 53280 30688 30172 R 86.5 3.0 0:28.65 │ │ ├─ /usr/lib/apt/methods/rred
12891 root 0 0 0 ?? 39 19 24304 1784 1440 S 0.0 0.2 0:00.00 │ │ ├─ /usr/lib/apt/methods/gpgv
12889 root 0 0 0 ?? 39 19 24292 1624 1384 S 0.0 0.2 0:00.00 │ │ ├─ /usr/lib/apt/methods/copy
12887 root 0 0 0 ?? 39 19 32860 1956 1560 S 0.0 0.2 0:00.17 │ │ ├─ /usr/lib/apt/methods/http
12886 root 0 0 0 ?? 39 19 24292 1696 1444 S 0.0 0.2 0:00.00 │ │ └─ /usr/lib/apt/methods/fil
Ma ho dimenticato di aggiungere questo nice -n 19 ionice -n 7 -c 3
e ho funzionato giusto lb build
. Quindi, ho provato al renice
processo genitore:
# renice -n 19 -p 6187
Ma questo non rinnega gli altri processi. Quindi, sembra così:
26196 morfik 0 0 0 B4 20 0 23888 668 664 S 0.0 0.1 0:00.24 │ ├─ -bash
30926 root 0 0 0 B4 20 0 53668 528 528 S 0.0 0.1 0:00.02 │ │ └─ su -
31008 root 0 0 0 B4 20 0 34656 5952 1224 S 0.0 0.6 0:02.62 │ │ └─ -su
6187 root 0 0 0 B7 39 19 4496 800 524 S 0.0 0.1 0:00.00 │ │ └─ /bin/sh /usr/lib/live/build/build
6349 root 0 0 0 B4 20 0 4328 612 512 S 0.0 0.1 0:00.00 │ │ └─ /bin/sh ./auto/build
6351 root 0 0 0 B4 20 0 7028 592 488 S 0.0 0.1 0:00.00 │ │ ├─ tee build.log
6350 root 0 0 0 B4 20 0 4496 828 532 S 0.0 0.1 0:00.01 │ │ └─ /bin/sh /usr/lib/live/build/build noauto
6445 root 0 0 0 B4 20 0 4496 840 548 S 0.0 0.1 0:00.00 │ │ └─ /bin/sh /usr/lib/live/build/bootstrap
7580 root 0 0 0 B4 20 0 4496 856 552 S 0.0 0.1 0:00.02 │ │ └─ /bin/sh /usr/lib/live/build/bootstra
7692 root 0 0 0 B4 20 0 62924 5236 3848 S 15.5 0.5 0:03.78 │ │ └─ aptitude --assume-yes update
7932 root 0 0 0 B4 20 0 54776 16480 15916 R 84.1 1.6 0:16.60 │ │ ├─ /usr/lib/apt/methods/rred
7912 root 0 0 0 B4 20 0 24296 2036 1648 S 0.0 0.2 0:01.62 │ │ ├─ /usr/lib/apt/methods/gzip
7733 root 0 0 0 B4 20 0 27948 5552 1632 S 0.0 0.5 0:02.85 │ │ ├─ /usr/lib/apt/methods/bzip2
7711 root 0 0 0 B4 20 0 24304 1780 1436 S 0.0 0.2 0:00.00 │ │ ├─ /usr/lib/apt/methods/gpgv
7709 root 0 0 0 B4 20 0 30800 2200 1812 S 0.0 0.2 0:01.01 │ │ └─ /usr/lib/apt/methods/http
Potrei modificare manualmente tutti i processi ma stanno cambiando.
EDIT # 1
Il seguente comando:
# nice -n 19 ionice -n 7 -c 3 lb build
imposta anche:
ionice - imposta o ottiene la classe e la priorità di programmazione del processo. ...
-c, --class nome o numero della classe di pianificazione 0: nessuno, 1: in tempo reale, 2: best-effort, 3: inattivo
-n, --classdata scheduling data class 0-7 per le classi in tempo reale e best-effort
Come impostare -c
e -n
opzione ionice
per i processi?
renice
ha bisogno anche di un-n
parametro, quindi dovrebbe essererenice -n 19 $(pgrep -s $parent)
. Ho anche notato cheionice
cambia. Al `renice -n 19,
spettacoli htop`B7
, a-n 10
, èB6
, in-n -1
,B3
. QuestoBx
corrisponde aionice -n x
, giusto? C'è un modo per impostareionice -c 3
tutti i processi, oltre a un-n
valore diverso ?