2.6. 프로필 사용자 지정을 위한 기본 제공 기능
TuneD 프로필에서 기본 제공 함수를 사용하여 프로필이 활성화될 때 런타임에 동적으로 확장할 수 있습니다. TuneD 변수와 함께 기본 제공 함수를 사용하여 프로필 내에서 동적으로 값을 수정하고 처리합니다. 또한 사용자 지정 Python 함수를 플러그인으로 생성하고 통합하여 사용자 지정 함수를 사용하여 TuneD를 확장할 수 있습니다.
- 기본 제공 함수를 시작하는 구문
${f:function_name:argument_1:argument_2}또한 프로필 및 tuned.conf 파일이 있는 디렉터리 경로를 검색하려면 다음 구문이 필요한
PROFILE_DIR변수를 사용합니다.${i:PROFILE_DIR}- 기본 제공 함수를 사용하여 CPU 코어 분리의 예
[variables] non_isolated_cores=0,3-5 [bootloader] cmdline=isolcpus=${f:cpulist_invert:${non_isolated_cores}}이 예에서
${non_isolated_cores}변수는0,3-5로 확장됩니다.cpulist_invert함수는 CPU 목록을 반전합니다. CPU가 6개인 시스템에서0,3-5인verts to1,2에서는isolcpus=1,2옵션으로 커널이 부팅됩니다.
| 함수 이름 | 설명 |
|---|---|
| 어설션 | 두 인수를 비교합니다. 일치하지 않으면 함수에서 첫 번째 인수의 텍스트를 기록하고 프로필 로드를 중단합니다. |
| assertion_non_equal | 두 인수를 비교합니다. 일치하는 경우 함수는 첫 번째 인수의 텍스트를 기록하고 프로필 로드를 중단합니다. |
| calc_isolated_cores | 분리된 코어를 계산하고 반환합니다. 인수는 하우스키핑을 위해 예약할 소켓당 코어 수를 지정합니다. 지정하지 않으면 소켓당 하나의 코어가 하우스키핑용으로 예약되고 나머지 코어는 격리됩니다. |
| check_net_queue_count | 사용자가 net 장치에 대한 대기열 수를 지정했는지 확인합니다. 그렇지 않은 경우 하우스키핑 CPU 수를 반환합니다. |
| cpuinfo_check | /proc/cpuinfo에 대한 정규식을 확인합니다. REGEX1, STR1, REGEX2, STR2, …[, STR_FALLBACK] 형식의 인수를 허용합니다. REGEX1이 /proc/cpuinfo의 항목과 일치하는 경우 REGEX2가 일치하는 경우 STR2로 확장됩니다. 첫 번째 일치에서 중지됩니다. 정규 표현식이 일치하지 않으면 STR_FALLBACK 또는 폴백이 제공되지 않는 경우 빈 문자열로 확장됩니다. |
| cpulist2devs | CPU 목록을 장치 문자열로 변환합니다. |
| cpulist2hex | CPU 목록을 16진수 CPU 마스크로 변환합니다. |
| cpulist2hex_invert | CPU 목록을 16진수 CPU 마스크로 변환하고 이를 반전합니다. |
| cpulist_invert | 이를 보완하기 위해 CPU 목록을 반전합니다. 예를 들어 CPU가 4개인 시스템에서 0,2,3 목록의 전환은 1입니다. |
| cpulist_online | 목록의 CPU가 온라인 상태인지 확인합니다. 온라인 CPU만 포함하는 목록을 반환합니다. |
| cpulist_pack | 1,2,3,5 ~ 1-3,5 형식의 CPU 목록을 패키징합니다. |
| cpulist_present | 목록의 CPU가 있는지 확인합니다. 현재 CPU만 포함하는 목록을 반환합니다. |
| cpulist_unpack | 3 ~ 1,2,3,4 형식의 CPU 목록의 압축을 풉니다. |
| exec | 프로세스를 실행하고 출력을 반환합니다. |
| hex2cpulist | 16진수 CPU 마스크를 CPU 목록으로 변환합니다. |
| intel_recommended_pstate |
프로세서 코드 이름을 확인하고 권장 |
| iscpu_check |
|
| package2cpus | 패키지의 CPU 장치 목록을 제공합니다(소켓). |
| package2uncores | 패키지의 uncore 장치 목록을 제공합니다(소켓). |
| regex_search_ternary |
Ternary 정규식 연산자입니다. STR1, REGEX, STR2, STR3 형식의 인수를 사용합니다. REGEX가 STR1과 일치하는 경우( |
| log | 인수 연결로 확장되고 디버깅에 유용한 결과를 기록합니다. |
| kb2s | KB를 디스크 섹터로 변환합니다. |
| s2kb | 디스크 섹터를 KB로 변환합니다. |
| strip | 전달된 모든 인수에서 문자열을 만들고 선행 공백과 후행 공백을 모두 삭제합니다. |
| virt_check | TuneD가 VM(가상 머신) 내에서 실행 중인지 또는 베어 메탈에서 실행 중인지 확인합니다. VM 내에서 함수는 첫 번째 인수를 반환합니다. 베어 메탈에서 이 함수는 오류가 발생한 경우에도 두 번째 인수를 반환합니다. |