5.1 Process Priority and "nice" Concepts
========================================
nice 值範圍 -20
~ 19
,沒指定預設就是 0,愈小表示 priority 愈高
root 可以調大 or 調小 nice value,但一般使用者只能調大
1 2 3 4 5
| [vagrant@server ~]$ ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 1000 11502 11501 0 80 0 - 28845 wait pts/0 00:00:00 bash 0 R 1000 11572 11502 0 80 0 - 34343 - pts/0 00:00:00 ps
|
PR 20 = nice 0
5.2 Using nice and renice to Influence Process Priority
=======================================================
★★★★★★★★★ Very Important! ★★★★★★★★★ (start)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| $ ps axo pid,comm,nice --sort=-nice PID COMMAND NI 26 khugepaged 19 476 alsactl 19 25 ksmd 5 537 rtkit-daemon 1 1 systemd 0 ...... 11 rcuos/0 0 12 watchdog/0 - ...... 29921 ps 0 449 auditd -4 467 sedispatch -4 462 audispd -8 1583 pulseaudio -11 5 kworker/0:0H -20 .......
|
★★★★★★★★★ Very Important! ★★★★★★★★★ (end)
啟動程式時指定 nice 值:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $ nice -n 10 top $ ps -al F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 1000 11626 11502 0 90 10 - 36537 poll_s pts/0 00:00:00 top 0 R 1000 11627 11604 0 80 0 - 34343 - pts/1 00:00:00 ps
$ renice -n 15 11604 11604 (process ID) old priority 0, new priority 15 $ ps -al F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 1000 11626 11502 0 90 10 - 36537 poll_s pts/0 00:00:00 top 0 R 1000 11630 11604 0 95 15 - 34343 - pts/1 00:00:00 ps
|
補充:Hash Algorithm 特性
計算的資料來源沒有長度限制
雜湊長度永遠固定
雜湊演算法為單向運算
不同的資料來源不會產出相同的雜湊值
1 2 3 4 5
| $ sha1sum /etc/passwd 524dab4b600e8d87cb7aa5b21e4d57f8996a4374 /etc/passwd
$ echo "1234" | sha1sum 1be168ff837f043bde17c0314341c84271047b31 -
|
Practice: Discovery Process Properties
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| $ for i in $( seq $(($(grep -c '^processor' /proc/cpuinfo) * 2)) ); do sha1sum /dev/zero & done [1] 31701 [2] 31702
$ jobs [1]- Running sha1sum /dev/zero & [2]+ Running sha1sum /dev/zero &
$ ps u $(pgrep sha1sum) USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND student 31701 50.0 0.0 116096 1044 pts/0 R 14:26 1:29 sha1sum /dev/zero student 31702 50.0 0.0 116096 1044 pts/0 R 14:26 1:29 sha1sum /dev/zero
$ nice -n 10 sha1sum /dev/zero & [3] 31764
$ ps o pid,pcpu,nice,comm $(pgrep sha1sum) PID %CPU NI COMMAND 31701 49.8 0 sha1sum 31702 49.8 0 sha1sum 31764 4.0 10 sha1sum
$ sudo renice -n 5 31764 $ ps o pid,pcpu,nice,comm $(pgrep sha1sum) PID %CPU NI COMMAND 31701 48.8 0 sha1sum 31702 48.8 0 sha1sum 31764 6.2 5 sha1sum
$ killall sha1sum $ ps o pid,pcpu,nice,comm $(pgrep sha1sum) PID %CPU NI COMMAND 2052 0.0 0 bash 31825 0.0 0 ps [1] Terminated sha1sum /dev/zero [2]- Terminated sha1sum /dev/zero [3]+ Terminated nice -n 10 sha1sum /dev/zero
|