프로세스의 병렬화를 비활성화하여 시스템 시작 시 시스템 충돌 없이 CPU 오버클러킹을 활성화하도록 systemd 초기화 프로세스를 변경하는 방법을 찾으려고 합니다.
내 시스템은 확실히 게임 시스템이고 BIOS에 기본 오버클러킹 제어 기능이 내장되어 있습니다. 그리고 일반적인 사용과 게임을 위한 최대 성능을 얻기 위해 Linux 시스템(현재 데비안)을 조정하는 모든 방법을 조사했습니다.
현재 이것이 제가 발견한 주요 병목 현상이며, 성능 향상을 위한 많은 변경 사항은 매우 간단하고 구현하기 쉽습니다. systemd의 기능을 변경하는 것은 분명히 더 복잡합니다.
어쨌든, 시스템 장치 구성 파일을 수동으로 편집하지 않고는 이를 달성할 수 있는 간단한 방법이 없습니다. 이는 이 특정 유틸리티에 내장된 간단한 옵션이나 스위치에 비해 다소 어려운 일입니다.
이 문제에 대한 다른 해결책은 생각할 수 없지만, 부팅 프로세스의 병렬화로 인해 BIOS에서 CPU 오버클럭을 켰을 때 시스템이 충돌하는 조건이 발생한 것 같습니다.
나는 openrc 및 runit과 같은 다른 배포판의 대체 init 시스템을 사용해 보았고 그것이 해결책일 수도 있지만 이상적으로는 많은 응용 프로그램이 의존하는 시스템 솔루션이 있을 것입니다.
데비안 매뉴얼에서 .. https://www.debian.org/doc/manuals/debian-reference/ch03.en.html
3.2. Systemd init
This section describes how system is started by the systemd(1) program with PID=1 (i.e., init process).
The systemd init process spawns processes in parallel based on the unit configuration files (see systemd.unit(5)) which are written in declarative style instead of SysV-like procedural style.
The spawned processes are placed in individual Linux control groups named after the unit which they belong to in the private systemd hierarchy (see cgroups and Section 4.7.4, “Linux security features”).
The unit configuration files are loaded from a set of paths (see systemd-system.conf(5)) as follows:
"/lib/systemd/system": OS default configuration files
"/etc/systemd/system": system administrator configuration files which override the OS default configuration files
"/run/systemd/system": run-time generated configuration files which override the installed configuration files
Their inter-dependencies are specified by the directives "Wants=", "Requires=", "Before=", "After=", … (see "MAPPING OF UNIT PROPERTIES TO THEIR INVERSES" in systemd.unit(5)). The resource controls are also defined (see systemd.resource-control(5)).
The suffix of the unit configuration file encodes their types as:
*.service describes the process controlled and supervised by systemd. See systemd.service(5).
*.device describes the device exposed in the sysfs(5) as udev(7) device tree. See systemd.device(5).
*.mount describes the file system mount point controlled and supervised by systemd. See systemd.mount(5).
*.automount describes the file system auto mount point controlled and supervised by systemd. See systemd.automount(5).
*.swap describes the swap device or file controlled and supervised by systemd. See systemd.swap(5).
*.path describes the path monitored by systemd for path-based activation. See systemd.path(5).
*.socket describes the socket controlled and supervised by systemd for socket-based activation. See systemd.socket(5).
*.timer describes the timer controlled and supervised by systemd for timer-based activation. See systemd.timer(5).
*.slice manages resources with the cgroups(7). See systemd.slice(5).
*.scope is created programmatically using the bus interfaces of systemd to manages a set of system processes. See systemd.scope(5).
*.target groups other unit configuration files to create the synchronization point during start-up. See systemd.target(5).
Upon system start up (i.e., init), the systemd process tries to start the "/lib/systemd/system/default.target (normally symlinked to "graphical.target"). First, some special target units (see systemd.special(7)) such as "local-fs.target", "swap.target" and "cryptsetup.target" are pulled in to mount the filesystems. Then, other target units are also pulled in by the target unit dependencies. For details, read bootup(7).
systemd offers backward compatibility features. SysV-style boot scripts in "/etc/init.d/rc[0123456S].d/[KS]name" are still parsed and telinit(8) is translated into systemd unit activation requests.
및 /etc/systemd/system.conf
# systemd is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation; either version 2.1 of the License, or (at your option)
# any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file, or by creating "drop-ins" in
# the system.conf.d/ subdirectory. The latter is generally recommended.
# Defaults can be restored by simply deleting this file and all drop-ins.
#
# Use 'systemd-analyze cat-config systemd/system.conf' to display the full conf>
#
# See systemd-system.conf(5) for details.
[Manager]
#LogLevel=info
#LogTarget=journal-or-kmsg
#LogColor=yes
#LogLocation=no
#LogTime=no
#DumpCore=yes
#ShowStatus=yes
#CrashChangeVT=no
#CrashShell=no
#CrashReboot=no
#CtrlAltDelBurstAction=reboot-force
#CPUAffinity=
#NUMAPolicy=default
#NUMAMask=
#RuntimeWatchdogSec=off
#RuntimeWatchdogPreSec=off
#RuntimeWatchdogPreGovernor=
#RebootWatchdogSec=10min
#KExecWatchdogSec=off
#WatchdogDevice=
#CapabilityBoundingSet=
#NoNewPrivileges=no
#SystemCallArchitectures=
#TimerSlackNSec=
#StatusUnitFormat=description
#DefaultTimerAccuracySec=1min
#DefaultStandardOutput=journal
#DefaultStandardError=inherit
#DefaultTimeoutStartSec=90s
#DefaultTimeoutStopSec=90s
#DefaultTimeoutAbortSec=
#DefaultDeviceTimeoutSec=90s
#DefaultRestartSec=100ms
#DefaultStartLimitIntervalSec=10s
#DefaultStartLimitBurst=5
#DefaultEnvironment=
#DefaultCPUAccounting=no
#DefaultIOAccounting=no
#DefaultIPAccounting=no
#DefaultMemoryAccounting=yes
#DefaultTasksAccounting=yes
#DefaultTasksMax=15%
#DefaultLimitCPU=
#DefaultLimitFSIZE=
#DefaultLimitDATA=
#DefaultLimitSTACK=
#DefaultLimitCORE=
#DefaultLimitRSS=
#DefaultLimitNOFILE=1024:524288
#DefaultLimitAS=
#DefaultLimitNPROC=
#DefaultLimitMEMLOCK=8M
#DefaultLimitLOCKS=
#DefaultLimitSIGPENDING=
#DefaultLimitMSGQUEUE=
#DefaultLimitNICE=
#DefaultLimitRTPRIO=
#DefaultLimitRTTIME=
#DefaultOOMPolicy=stop
#DefaultSmackProcessLabel=
systemd 매뉴얼 페이지에는 다음과 같은 내용이 나와 있습니다.
6. Automount units provide automount capabilities, for on-demand
mounting of file systems as well as parallelized boot-up. See
systemd.automount(5).
답변1
여러 작업을 병렬로 실행하는 시스템이 불안정한 경우 여러 작업을 병렬로 실행하는 최신 게임을 실행할 수 없습니다.
예를 들어, 이제 그래픽 처리를 지오메트리 데이터에 대해 작동하는 더 긴밀한 루프(따라서 매 프레임마다 위치가 업데이트됨)와 조명을 업데이트하는 더 느린 루프(조명이 다르게 깜박이는지 아무도 알아차리지 못함)로 나누는 것이 일반적입니다. 그런 다음 병렬화하여 둘 다 실행합니다.
오버클러킹 시 구성 요소가 가열되고 허용 오차가 줄어드는 경우에도 몇 시간 동안 전체 부하 안정성을 유지할 수 있는 구성을 선택하고 싶을 것입니다.
답변2
따라서 xfce 패널의 운영 체제 내에서 기본 애플릿으로 제어하는 것조차 중요하지 않습니다. 이제 나는 매우 빠르다