[原创]切换CPU工作模式的脚本

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
erol
帖子: 61
注册时间: 2010-05-16 23:17

[原创]切换CPU工作模式的脚本

#1

帖子 erol » 2010-05-22 17:41

说明:方便笔记本用户切换CPU工作模式的脚本,因为多核的CPU要挨个设置太麻烦
启动后弹出一个xterm,告知当前CPU工作模式,列出可用的CPU工作模式,让用户选择,然后将所有核心切换到用户选择的模式下。
建议在面板上添加一个“自定义程序启动器”,将命令设成这个脚本,然后在 /usr/share/pixmaps选一个合适的图标
依赖:cpufrequtils

代码: 全选

#!/bin/bash

#***关于这个程序********************************************************
# Filename:CPU frequency mode switch"			
# E-mail:[email protected]"
# This program will set all core  at the same time"
# Please install cpufrequtils at first"
# ReleaseDate:2010-5-22"
#*********************************************************************


#***以下为变量名解释*****************************************************
#CurrentFreqMode	字符串,当前的CPU频率模式
#AvailableFreqMode	字符串,所有可用的CPU频率模式
#ChooseFreqMode		字符串,作为设定目标的CPU频率模式
#QuantityOfCore		整数,CPU核心数量
#tmpi			整数,临时性的变量
#tmpj			字符串,临时性的变量
#tmpk			字符串数组,临时性的变量
#*********************************************************************


#***以下为准备工作*******************************************************
CurrentFreqMode=`cpufreq-info -p | awk '{ print $3 }'`		#取得当前频率模式
export CurrentFreqMode						#将字符变量给子进程xterm
#*********************************************************************


#***弹出的xterm,标题是 cpu frequency switch*****************************
exec xterm -title "cpu frequency switch" -e '	#要在xterm中运行的代码从这个单引号开始,到下一个单引号结束
#*********************************************************************


#***以下为准备工作*******************************************************							
QuantityOfAvailableMode=`cpufreq-info -g | wc -w`
AvailableFreqMode=`cpufreq-info -g`				#取得所有可用频率模式	
QuantityOfCore=`cpufreq-info | grep "analyzing CPU"|wc -l`	#计算核心数量

get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -cbreak
stty echo
stty $SAVEDSTTY
}


#**********************************************************************


#***以下为显示部分********************************************************
echo "current mode is $CurrentFreqMode"		#显示当前CPU频率模式
echo "0.quit"					#显示选项退出
let tmpi=1		
for tmpj in $AvailableFreqMode			#显示可用的CPU频率模式选项
do
tmpk[$tmpi]=$tmpj
echo "$tmpi.${tmpk[$tmpi]}"
let tmpi+=1
done					
echo -n "type your choose (like:2):"		#显示输入提示,不回车
#**********************************************************************


#***以下为输入部分********************************************************
read choose				#读取选项,一个字符		
#**********************************************************************		


#***以下为处理输入的选项***************************************************
if [ "$choose" -eq 0 ]
then						#如果选项是0
	exit 0					#退出xterm
elif [ "$choose" -ge 1 ] && [ "$choose" -le "$QuantityOfAvailableMode" ]			#如果选项是1
then						
	ChooseFreqMode=${tmpk[$choose]}
else 						#如果是其他数字
	echo "Unavailable choose"		#显示选项不可用
	echo "Press any key to quit..."		#按任意键退出程序
	char=`get_char`				#调用任意键的实现函数
	exit 1
fi
#**********************************************************************	


#***以下为设置CPU频率模式部分**********************************************
for ((tmpi=0; tmpi < $QuantityOfCore ; tmpi++))		#循环设定CPU的所有核心,需要管理员权限
do						
	sudo cpufreq-set -c "$tmpi" -g "$ChooseFreqMode"	
done
echo "CPU switch to "$ChooseFreqMode""		#显示设定结果
#**********************************************************************	


#***以下为任意键退出xterm部分**********************************************
echo “Press any key to quit...”			#任意键退出
char=`get_char`					#调用任意键的实现函数
exit 0						#退出xterm
#**********************************************************************	


#***xterm的第二个单引号***************************************************
'
#**********************************************************************


exit 0;
下载
CPU-frequency-mode-switch.tar.gz
CPU-frequency-mode-switch
(1.51 KiB) 已下载 42 次
伊吹风子的邻居常说:那孩子是个普通的地球人
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: [原创]切换CPU工作模式的脚本

#2

帖子 eexpress » 2010-05-22 17:49

What special role?
● 鸣学
头像
速腾1994
论坛版主
帖子: 17379
注册时间: 2008-11-01 20:43
系统: Arch+gnome

Re: [原创]切换CPU工作模式的脚本

#3

帖子 速腾1994 » 2010-05-22 17:53

你认为
cpu
频率监视器
好不好?
就是添加到面板的那个 :em03
头像
erol
帖子: 61
注册时间: 2010-05-16 23:17

Re: [原创]切换CPU工作模式的脚本

#4

帖子 erol » 2010-05-22 19:59

速腾1994 写了:你认为
cpu
频率监视器
好不好?
就是添加到面板的那个 :em03
原来在CPU频率监视器上点左键啊,杯具啊 :em20 ,以前一直在首选项和右键里找.... 算了,给没桌面的人使...
以后加上独立设置每个核心频率的功能
伊吹风子的邻居常说:那孩子是个普通的地球人
回复