想将8核的CPU改成4核CPU(特殊linux系统),cpu核数写在/sys/devices/system/cpu/online文件中
rj@rj800-1000:/sys/devices/system/cpu$ echo "0-3" >online
-bash: online: 权限不够
.......
root@rj800-1000:/sys/devices/system/cpu# cat online
0-7
root@rj800-1000:/sys/devices/system/cpu# chmod 777 online
root@rj800-1000:/sys/devices/system/cpu# ls -al
总用量 0
drwxr-xr-x 14 root root 0 7月 25 17:13 .
drwxr-xr-x 9 root root 0 7月 25 17:13 ..
drwxr-xr-x 5 root root 0 7月 25 17:13 cpu0
drwxr-xr-x 5 root root 0 7月 25 17:13 cpu1
............
-r--r--r-- 1 root root 4096 7月 25 17:13 offline
-rwxrwxrwx 1 root root 4096 7月 25 17:13 online
-r--r--r-- 1 root root 4096 7月 25 17:13 possible
..........
root@rj800-1000:/sys/devices/system/cpu# echo "0-3" >online
bash: echo: 写错误: 输入/输出错误
root@rj800-1000:/sys/devices/system/cpu#
我的操作及想法:
1、使用普通用户写入online内容,提示没有权限
2、切换到root账号写入online内容,还是提示没有权限
3、修改文件权限为777
4、继续写入文件,提示“bash: echo: 写错误: 输入/输出错误”
1、最终目的修改cpu核数
2、如果不能修改,请问这个文件为什么不能被写入?
/sys
下是 linux 用来展现设备信息的伪文件系统,里面要是摆明了原始权限不可修改,那么就算你 chmod 777
也无济于事。可以尝试使用 chcpu
命令修改核数。
你可以换种方法,就是在你的online输入一段文字,然后通过读入流,读出来
root@rj800-1000:/home/ruijie# cat /sys/devices/system/cpu/cpu
cpu0/ cpu1/ cpu2/ cpu3/ cpu4/ cpu5/ cpu6/ cpu7/ cpufreq/ cpuidle/
root@rj800-1000:/home/ruijie# cat /sys/devices/system/cpu/cpu2/online
1
root@rj800-1000:/home/ruijie# cat /sys/devices/system/cpu/online
0-2,4-5
之前眼花没有找到/sys/devices/system/cpu/cpu2/online这样的路径,走了好多弯路
也可以用下面的命令来启用或禁用cpu
echo 0 >/sys/devices/system/cpu/cpu2/online
echo 1 >/sys/devices/system/cpu/cpu2/online