Using renice and taskset to manage process priority and CPU affinity with Linux OEL 6.4
Table of Contents
Process NICE priority values range from -20 to 19. ( see top NI column )
NI is the nice value, which is a user-space concept. PR is the process’s actual priority, as viewed by the Linux kernel.
For normal processes, the kernel priority is simply +20 from the nice value. Thus a process with the neutral nice value of zero has a kernel priority of 20. This offset-by-20 is done so that a process with a nice value of -20, the highest priority nice value, receives a kernel priority of zero. Lower numeric values equal higher scheduling priority.
For realtime processes, the kernel priority is the process’s real-time priority, but the PR column will simply print RT.
A process with the nice value of -20 is considered to be on top of the priority. And a process with nice value of 19 is considered to be low on the priority list.Using renice and taskset to manager a Linux process
Using renice and taskset to manage a Linux process
Display CPU Affinity for LGWR process and change CPU affinity to CPU 5 $ ps -elf | egrep 'NI|ora_lgwr' | grep -v grep F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 0 S oracle 5825 1 0 60 -20 - 394456 semtim 13:25 ? 00:00:24 ora_lgwr_grac41 $ taskset -pc 5 5825 pid 5825's current affinity list: 0-7 pid 5825's new affinity list: 5 Monitor CPU affinity with top # top -H -p 5825 [ --> Press f --> Press j to add CPU affinity col ] PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ P COMMAND 5825 oracle 20 0 1540m 32m 28m S 0.0 0.8 0:24.62 5 oracle --> P shows the CPU affinity which is 5 ! Compile a load program and and set affinity to CPU 5 during program start $ cc sq.c -o sq -lm $ taskset -c 5 sq $ sp PID: 15949 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ P COMMAND 15949 oracle 20 0 6544 312 244 R 73.7 0.0 1:50.17 5 sq 5825 oracle 20 0 1540m 32m 28m S 0.0 0.8 0:25.10 5 oracle Increase the priority of a process and monitor this process # renice -15 15949 # top -H -p 15949 [ --> Press f --> Press j to add CPU affinity col ] Cpu(s): 9.5%us, 3.1%sy, 0.0%ni, 87.2%id, 0.1%wa, 0.0%hi, 0.2%si, 0.0%st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ P COMMAND 15949 oracle 5 -15 6544 308 244 R 70.9 0.0 38:43.36 5 sq 5825 oracle 20 0 1540m 33m 29m S 0.0 0.8 1:20.49 5 oracle