로깅 환경 변수

PyPy와 다른 모든 RPython 프로그램은 다양한 고급 매개변수를 조정하는 데 사용되는 몇 가지 특수 환경 변수를 지원합니다.

가비지 컬렉터

현재 기본 GC는 (MiniMark의 증분(incremental) 버전)입니다. 이 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로 읽을 수 있습니다.