728x90
반응형
오늘은 임베디드 환경에서 이슈를 검토하기 위해서 필요한 명령어 중 하나인 nice 명령어에 대해 알아보고자 합니다.
이슈를 검토하기 위해 간략하게 이슈 발생했을 경우 특정 내용을 grep으로 확인 후 확인된 내용을 바탕으로 log들을 생성하도록 하는 스크립트를 추가하여 실제로 이슈가 발생했을 때 로그를 덤프 할 수 있도록 추가되었습니다.
그러나 이러한 이슈 재현 단계에서 스크립트의 수행이 이슈 발생 프로세스보다 우선 순위가 낮다면 어떻게 될까요?
당연히 이슈 발생 후 시스템은 다운 혹은 경쟁 상태 (race condition)에 빠지면서 스크립트는 수행되지 않을 확률이 높습니다.
그래서 스크립트의 우선 순위를 높여 이슈가 발생되었을 때 수행될 수 있도록 하는 것이 중요합니다.
nice 명령어는 프로세스의 우선순위를 변경하는 데 사용되는 유틸리티입니다.
우선순위가 높을수록 프로세스가 더 빨리 실행됩니다.
nice [옵션] [프로세스]
옵션에는 다음과 같은 것들이 있습니다.
- -n: 우선순위를 지정합니다. 우선순위는 -20에서 19까지 가능하며, 0이 기본값입니다. -20은 가장 낮은 우선순위, 19는 가장 높은 우선순위입니다.
- -u: 사용자를 지정합니다. nice 명령어는 지정된 사용자에게 속한 프로세스의 우선순위를 변경합니다.
예를 들어, 다음 명령은 프로세스의 우선순위를 -10으로 변경합니다.
nice -n -10 ls
다음 명령은 사용자 root에게 속한 모든 프로세스의 우선순위를 10으로 변경합니다.
nice -u root -n 10
nice 명령어는 다음과 같은 경우에 유용합니다.
- 짧은 시간 동안 실행되는 프로세스의 우선순위를 높여서 실행 시간을 줄입니다.
- 시스템의 사용량이 많은 경우 우선순위를 낮춰서 다른 프로세스가 실행될 수 있도록 합니다.
nice 명령어를 사용할 때는 다음과 같은 주의 사항이 있습니다.
- 우선순위를 너무 높게 설정하면 시스템 성능이 저하될 수 있습니다.
- 우선순위를 너무 낮게 설정하면 프로세스가 실행되지 않을 수 있습니다.
renice 명령어는 nice 명령어랑 차이가 있습니다.
renice 명령어는 이미 실행된 프로세스의 우선순위를 변경할 때 사용합니다.
728x90
반응형
SMALL
'개발 이야기' 카테고리의 다른 글
[linux] 파일 이름 변경 명령어 rename (0) | 2023.09.04 |
---|---|
[linux] 실시간 성능 모니터링을 위한 명령어 top (0) | 2023.09.04 |
Using cmd, start/stop App in Android Platform (0) | 2023.08.22 |
[개발자편] 아시나요? 코딩테스트 (0) | 2023.08.10 |
[개발자편] 아시나요? 개발자 되기 위한 협업도구 (0) | 2023.08.08 |