From T3_KR_KNU
(→MemoryUsage가 RequestMemory보다 많은 작업) |
(→MemoryUsage가 RequestMemory보다 많은 작업) |
||
Line 4: | Line 4: | ||
* MemoryUsage가 RequestMemory보다 많은 작업은 Hold 상태로 변경됩니다. | * MemoryUsage가 RequestMemory보다 많은 작업은 Hold 상태로 변경됩니다. | ||
+ | |||
+ | === MemoryUsage가 RequestMemory보다 많은 작업을 hold 시켜야하는 이유 === | ||
+ | |||
* request_memory 옵선에 따라서 사용 가능한 메모리가 할당이 되는데 작업이 이이상으로 많은 메모리를 사용하게 되면 자신의 작업뿐만아니라 타사용자의 작업에도 메모리 부족으로 문제를 일으키게 됩니다. | * request_memory 옵선에 따라서 사용 가능한 메모리가 할당이 되는데 작업이 이이상으로 많은 메모리를 사용하게 되면 자신의 작업뿐만아니라 타사용자의 작업에도 메모리 부족으로 문제를 일으키게 됩니다. | ||
+ | |||
+ | === 그렇다면 request_memory를 무조건 크게 넣으면 좋을까? === | ||
+ | |||
+ | * request_memory를 많이 설정하면 메모리 부족 문제는 발생하지 않겠지만 메모리를 크게 설정하는 만큼 사용가능한 작업 슬롯수가 줄어듭니다. | ||
+ | * 가령 64GB에 32core를 가지고 있는 연산노드가 있다고 가정하면 작업당 메모리 2GB를 사용하는 작업은 32개의 작업슬롯을 8GB를 사용하는 작업은 8개의 작업슬롯을 사용할 수 있습니다. | ||
=== Hold 상태인 작업 === | === Hold 상태인 작업 === |
Revision as of 07:03, 9 February 2022
Contents
경북대 HTCondor Job Policy 안내
MemoryUsage가 RequestMemory보다 많은 작업
- MemoryUsage가 RequestMemory보다 많은 작업은 Hold 상태로 변경됩니다.
MemoryUsage가 RequestMemory보다 많은 작업을 hold 시켜야하는 이유
- request_memory 옵선에 따라서 사용 가능한 메모리가 할당이 되는데 작업이 이이상으로 많은 메모리를 사용하게 되면 자신의 작업뿐만아니라 타사용자의 작업에도 메모리 부족으로 문제를 일으키게 됩니다.
그렇다면 request_memory를 무조건 크게 넣으면 좋을까?
- request_memory를 많이 설정하면 메모리 부족 문제는 발생하지 않겠지만 메모리를 크게 설정하는 만큼 사용가능한 작업 슬롯수가 줄어듭니다.
- 가령 64GB에 32core를 가지고 있는 연산노드가 있다고 가정하면 작업당 메모리 2GB를 사용하는 작업은 32개의 작업슬롯을 8GB를 사용하는 작업은 8개의 작업슬롯을 사용할 수 있습니다.
Hold 상태인 작업
hold 상태인 작업은 ?
- hold 상태인 작업은 24시간 후에 자동으로 삭제됩니다.
작업이 hold 된 원인을 파악하려면
- jobid는 작업아이디 번호입니다.
$ condor_q -l jobid | grep HoldReason HoldReason = "memory usage exceeded request_memory"
request_memory 부족으로 hold 된 작업은 어떻게 해결해야하나요?
- 내가 넣은 전체 작업이 메모리가 부족하고 메모리를 request_memory를 4096MB로 늘리고자 한다면
$ condor_qedit userid RequestMemory 4096 $ condor_release 사용자아이디
- 특정 작업만 메모리가 부족하다면
- jobid는 작업아이디 번호입니다.
$ condor_qedit jobid RequestMemory 4096 $ condor_release jobid