当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [原创]切换CPU工作模式的脚本
帖子发表于 : 2010-05-22 17:41 
头像

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


代码:
#!/bin/bash

#***关于这个程序********************************************************
# Filename:CPU frequency mode switch"         
# E-mail:erolwang@gmail.com"
# 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
CPU-frequency-mode-switch.tar.gz [1.51 KiB]
被下载 10 次


_________________
伊吹风子的邻居常说:那孩子是个普通的地球人


页首
 用户资料  
 
2 楼 
 文章标题 : Re: [原创]切换CPU工作模式的脚本
帖子发表于 : 2010-05-22 17:49 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
What special role?


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: [原创]切换CPU工作模式的脚本
帖子发表于 : 2010-05-22 17:53 
头像

注册: 2008-11-01 20:43
帖子: 17328
系统: 自动检测比较好
送出感谢: 44
接收感谢: 11
你认为
引用:
cpu
频率监视器
好不好?
就是添加到面板的那个 :em03


_________________
谁是我?KL.Uiq8 YinMeng


页首
 用户资料  
 
4 楼 
 文章标题 : Re: [原创]切换CPU工作模式的脚本
帖子发表于 : 2010-05-22 19:59 
头像

注册: 2010-05-16 23:17
帖子: 61
送出感谢: 0 次
接收感谢: 0 次
速腾1994 写道:
你认为
引用:
cpu
频率监视器
好不好?
就是添加到面板的那个 :em03

原来在CPU频率监视器上点左键啊,杯具啊 :em20 ,以前一直在首选项和右键里找.... 算了,给没桌面的人使...
以后加上独立设置每个核心频率的功能


_________________
伊吹风子的邻居常说:那孩子是个普通的地球人


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译