From T3_KR_KNU
Revision as of 07:03, 9 February 2022 by Hanbi (Talk | contribs) (MemoryUsage가 RequestMemory보다 많은 작업)

Jump to: navigation, search

1 경북대 HTCondor Job Policy 안내

1.1 MemoryUsage가 RequestMemory보다 많은 작업

  • MemoryUsage가 RequestMemory보다 많은 작업은 Hold 상태로 변경됩니다.

1.2 MemoryUsage가 RequestMemory보다 많은 작업을 hold 시켜야하는 이유

  • request_memory 옵선에 따라서 사용 가능한 메모리가 할당이 되는데 작업이 이이상으로 많은 메모리를 사용하게 되면 자신의 작업뿐만아니라 타사용자의 작업에도 메모리 부족으로 문제를 일으키게 됩니다.

1.3 그렇다면 request_memory를 무조건 크게 넣으면 좋을까?

  • request_memory를 많이 설정하면 메모리 부족 문제는 발생하지 않겠지만 메모리를 크게 설정하는 만큼 사용가능한 작업 슬롯수가 줄어듭니다.
  • 가령 64GB에 32core를 가지고 있는 연산노드가 있다고 가정하면 작업당 메모리 2GB를 사용하는 작업은 32개의 작업슬롯을 8GB를 사용하는 작업은 8개의 작업슬롯을 사용할 수 있습니다.

1.4 Hold 상태인 작업

1.4.1 hold 상태인 작업은 ?

  • hold 상태인 작업은 24시간 후에 자동으로 삭제됩니다.

1.4.2 작업이 hold 된 원인을 파악하려면

  • jobid는 작업아이디 번호입니다.
$ condor_q -l jobid | grep HoldReason
HoldReason = "memory usage exceeded request_memory"

1.4.3 request_memory 부족으로 hold 된 작업은 어떻게 해결해야하나요?

  • 내가 넣은 전체 작업이 메모리가 부족하고 메모리를 request_memory를 4096MB로 늘리고자 한다면
$ condor_qedit userid RequestMemory 4096
$ condor_release 사용자아이디
  • 특정 작업만 메모리가 부족하다면
  • jobid는 작업아이디 번호입니다.
$ condor_qedit jobid RequestMemory 4096
$ condor_release jobid