top
표시 우선순위는20대부분의 프로세스에는 다음이 포함됩니다(예:파이어폭스 휴지통).
또한 ps -o pid,lwp,pri,nice,start,stat,bsdtime,cmd,comm -C firefox-bin
표시되는 내용은 다음과 같습니다.
PID LWP PRI NI STARTED STAT TIME CMD COMMAND
9798 9798 19 0 14:03:47 Sl 2:17 /opt/firefox/firefox firefox-bin
top과 ps는 모두 오래된 명령이므로 이는 버그가 아닐 것 같습니다. 왜 차이가 있나요?
답변1
Linux 우선순위 범위는 0부터 139까지입니다. 다음을 통해 프로세스의 실제 우선순위를 볼 수 있습니다.예정됨파일 처리 중'/프로세스/하위 디렉토리. 예를 들어 내 시스템의 Firefox 프로세스 ID는 84163입니다. 그래서 내가 달리면grep ^prio /proc/84163/sched,우선순위가 120이라고 나오네요. 이는 Linux의 기본 우선순위입니다. 실시간 우선순위 범위는 0~99이며, 사용자는 100~139까지 우선순위를 할당할 수 있습니다. 하지만,메모Firefox의 우선순위가 80이고맨 위20대라고 말해줘 왜 세 가지가 모두 다른가요? ~에 따르면이 페이지,ps는 -40에서 99까지의 우선순위를 제공합니다. 따라서 실제 우선순위를 얻으려면 여기에 40을 더하세요. top 명령은 각 우선순위 수준에서 100을 뺍니다. 따라서 최상위의 실제 우선순위를 얻으려면 여기에 100을 더하세요.
답변2
top
표시 우선 순위가 인 20 + nice value
것처럼 보이지만 ps
표시에는 19 - nice value
0부터 39까지의 값으로 우선 순위가 표시되는데 top
0은 가장 높은 우선 순위를 의미하고 ps
39는 가장 높은 우선 순위를 의미합니다.
왜 다른지 잘 모르겠습니다. ps
매뉴얼 페이지에 "숫자가 높을수록 우선 순위가 낮다는 것을 의미합니다"라고 나와 있으므로 버그일 수 있습니다.