로깅 환경 변수 ============== PyPy와 다른 모든 RPython 프로그램은 다양한 고급 매개변수를 조정하는 데 사용되는 몇 가지 특수 환경 변수를 지원합니다. 가비지 컬렉터 ------------- 현재 기본 GC는 (MiniMark__\ 의 증분(incremental) 버전)입니다. 이 GC는 조정할 수 있는 :ref:`여러 환경 변수 `\ 를 가지고 있습니다. 이 변수들의 기본값은 대부분의 용도에 적합할 것입니다. .. __: garbage_collection.html#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_\ 에 필요한 것입니다. .. _jitviewer: https://bitbucket.org/pypy/jitviewer 파일명은 로그를 stderr로 출력하기 위해 ``-``\ 로 지정할 수 있습니다. 특별한 경우로, ``PYPYLOG=+filename`` 값은 (어떤 섹션이든) 섹션 마커만 기록됨을 의미합니다. 이는 대부분 ``rpython/tool/logparser.py``\ 에만 유용합니다. 로그파일 이름에 있는 특수 문자열 ``%d``\ 는 프로세스 ID로 대체됩니다. 이렇게 하면 여러 프로세스가 서로의 로그 파일을 방해하지 않게 만들 수 있습니다. PYPYSTM ------- ``pypy-stm``\ 에서만 사용할 수 있습니다. PyPy-STM이 경합(contention) 정보를 출력할 로그 파일의 이름을 지정합니다. ``pypy/stm/print_stm_log.py``\ 로 읽을 수 있습니다.