Raspberry Pi 5 Passen Sie die virtuelle Umgebung und die CPU -Kerne automatisch ohne Neustart einLinux

Linux verstehen
Anonymous
 Raspberry Pi 5 Passen Sie die virtuelle Umgebung und die CPU -Kerne automatisch ohne Neustart ein

Post by Anonymous »

Ich konfiguriere .bashrc auf meinem Raspberry Pi 5, um eine virtuelle Umgebung automatisch zu aktivieren und die CPU -Kerne von 4 bis 1 zu begrenzen, wenn ich zu einem bestimmten Verzeichnis navigiere. Wenn ich in ein anderes Verzeichnis wechsle, sollte die virtuelle Umgebung deaktivieren, und die CPU -Kerne sollten von 1 zurück bis 4 wiederhergestellt werden. Die Bedingung ist, dass dies ohne Neustart erfolgen muss. < /P>
Wie kann ich die CPU -Kerne ordnungsgemäß wiederherstellen lassen? Jede Hilfe wäre geschätzt! 🙏 < /p>
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. 🙏🔥 < /p>

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"

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post