Wie kann ich die CPU -Kerne ordnungsgemäß wiederherstellen lassen? Jede Hilfe wäre geschätzt!
Ich stelle den .bashrc auf einem Raspberry -PI an, sodass beim Navigieren zu einem bestimmten Verzeichnis eine virtuelle Umgebung aktiviert und die Anzahl der CPU -Kerne begrenzt ist. Wenn ich dann in ein anderes Verzeichnis wechsle, wird die virtuelle Umgebung deaktiviert und die CPU -Kerne werden wiederhergestellt. < /P>
Wie kann ich dieses Problem beheben? Wenn ich jedoch wegnehme, restaurieren die Kerne nicht von 1 zurück auf 4.
Code: Select all
venv_path="$HOME/my_virtualenv" # 가상환경 경로
project_dir="$HOME/projects/my_project/jh_project" # 프로젝트 디렉토리
export PREV_CPU_STATE="full"
set_power_save() {
echo "🔋 Enabling Power Save Mode"
echo "powersave" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor > /dev/null
echo "🔻 Reducing CPU cores..."
for i in 1 2 3; do
if [[ -f "/sys/devices/system/cpu/cpu$i/online" ]]; then
echo 0 | sudo tee /sys/devices/system/cpu/cpu$i/online > /dev/null 2>&1
fi
done
}
set_performance_mode() {
echo "🔌 Enabling Performance Mode"
echo "performance" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor > /dev/null
echo "🔺 Restoring all CPU cores..."
for i in 1 2 3; do
if [[ -f "/sys/devices/system/cpu/cpu$i/online" ]]; then
echo 1 | sudo tee /sys/devices/system/cpu/cpu$i/online > /dev/null 2>&1
fi
done
}
check_cd_and_activate() {
echo "📂 Current Directory: $PWD"
echo "📂 Previous CPU State: $PREV_CPU_STATE"
if [[ "$PWD" == "$project_dir" && "$PREV_CPU_STATE" != "low" ]]; then
if [[ -d "$venv_path" && -z "$VIRTUAL_ENV" ]]; then
echo "✅ Activating Virtual Environment: $venv_path"
source "$venv_path/bin/activate"
fi
set_power_save
export PREV_CPU_STATE="low"
elif [[ "$PREV_CPU_STATE" == "low" && "$PWD" != "$project_dir" ]]; then
echo "🔄 Switching to Performance Mode"
if [[ ! -z "$VIRTUAL_ENV" ]]; then
echo "❌ Deactivating Virtual Environment"
deactivate
fi
set_performance_mode
export PREV_CPU_STATE="full"
fi
}
export PROMPT_COMMAND="check_cd_and_activate"