로깅 환경 변수

PyPy를 비롯한 모든 RPython 프로그램은 다양한 고급 매개변수를 조정하는 데 쓰이는 몇 가지 특수 환경 변수를 지원합니다.

가비지 컬렉터

현재 기본 GC는 MiniMark__(의 증분 버전)입니다. 이 GC에는 조정할 수 있는 여러 환경 변수가 있습니다. 대부분의 용도에서는 이 변수들의 기본값으로 충분할 것입니다.

PYPYLOG

PYPYLOG 환경 변수를 설정하면 디버깅 출력이 활성화됩니다. 예를 들면 다음과 같습니다.:

PYPYLOG=jit:log

JIT의 모든 디버깅 출력을 활성화하고 log라는 파일에 기록한다는 의미입니다. 더 정확히 말하면, jit 조건은 이름이 jit로 시작하는 모든 섹션의 출력을 활성화한다는 의미입니다. 여기에 사용할 만한 다른 흥미로운 이름으로는 GC의 출력을 얻기 위한 gc, 또는 JIT의 기계어 코드 백엔드 출력만 얻기 위한 jit-backend 등이 있습니다. 다음 예시처럼 여러 접두사를 사용할 수도 있습니다:

PYPYLOG=jit-log-opt,jit-backend:log

이렇게 하면 최적화된 루프와 JIT 백엔드가 생성한 모든 내용을 담은 섹션이 출력됩니다. jitviewer에 필요한 설정은 위 예시와 같습니다.

파일 이름을 -로 지정하면 로그를 stderr로 출력합니다.

특수한 경우로, PYPYLOG=+filename 값은 (모든 섹션에 대해) 섹션 마커만 기록한다는 뜻입니다. 이는 대체로 rpython/tool/logparser.py에서만 유용합니다.

로그 파일 이름에 들어 있는 특수 문자열 %d는 프로세스 ID로 대체됩니다. 이를 통해 여러 프로세스가 서로의 로그 파일에 간섭하지 않도록 할 수 있습니다.

PYPYSTM

pypy-stm에서만 사용할 수 있습니다. PyPy-STM이 경합(contention) 정보를 출력할 로그 파일의 이름을 지정합니다. pypy/stm/print_stm_log.py로 읽을 수 있습니다.