怎么限制cpu
发布网友
发布时间:2022-04-20 02:58
我来回答
共7个回答
热心网友
时间:2022-05-08 00:37
现在很多高端笔记本游戏本都有一个通病,那就是在玩大型游戏和渲染输出视频的时候,CPU会满载运行以至于温度飙升,下面就教大家如何*cpu频率吧。
1、首先找到控制面板,打开控制面板,打开这个电源选项。
2、这里有三种模式,我这里以高性能模式为例(其他两种模式也步骤一样),点击更改计划设置。
3、然后点击更改高级电源设置。
4、这里选择处理器,依次展开,打开最大处理器状态,*我们*的就是这个数值。
5、我们分别将这两个数据都设置为85%,以我的本子为例,处理器最高睿频为3.4Ghz,*最高性能在85%后最高睿频为2Ghz左右,此时玩游戏是感觉不到任何区别的,但是温度却降下来了,对于那些散热不给力的本本,这个方法可以有效降低CPU高温问题。
拓展资料:
*处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU 自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。
*处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。电子计算机三大核心部件就是CPU、内部存储器、输入/输出设备。*处理器的功效主要为处理指令、执行操作、控制时间、处理数据。
在计算机体系结构中,CPU 是对计算机的所有硬件资源(如存储器、输入输出单元) 进行控制调配、执行通用运算的核心硬件单元。CPU 是计算机的运算和控制核心。计算机系统中所有软件层的操作,最终都将通过指令集映射为CPU的操作。
热心网友
时间:2022-05-08 01:55
在使用 Docker 运行容器时,一台主机上可能会运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行*,那么容器之间会互相影响,小的来说会导致容器资源使用不公平;大的来说,可能会导致主机和集群资源耗尽,服务完全不可用。
Docker 作为容器的管理者,自然提供了控制容器资源的功能。正如使用内核的 namespace 来做容器之间的隔离,Docker 也是通过内核的 cgroups 来做容器的资源*。这篇文章就介绍如何使用 docker 来* CPU、内存和 IO,以及对应的 cgroups 文件。
NOTE:如果想要了解 Cgroups 的更多信息,可以参考 Kernel 文档 或者其他资源。
我本地测试的 Docker 版本是 17.03.0 社区版:
使用的是 ubuntu 16.04 系统,内核版本是 4.10.0:
➜ ~ uname -aLinux cizixs-ThinkPad-T450 4.10.0- 28-generic #32~16.04.2-Ubuntu SMP Thu Jul 2010:19:48UTC 2017x86_64 x86_64 x86_64 GNU/Linux
NOTE: 不同版本和系统的功能会有差异,具体的使用方法和功能解释请以具体版本的 Docker 官方文档为准。
我们使用 stress 容器来产生 CPU、内存和 IO 的压力,具体的使用请参考它的帮助文档。
1.CPU资源
主机上的进程会通过时间分片机制使用 CPU,CPU 的量化单位是频率,也就是每秒钟能执行的运算次数。为容器* CPU 资源并不能改变 CPU 的运行频率,而是改变每个容器能使用的 CPU 时间片。理想状态下,CPU 应该一直处于运算状态(并且进程需要的计算量不会超过 CPU 的处理能力)。
Docker * CPU Share
Docker 允许用户为每个容器设置一个数字,代表容器的 CPU share,默认情况下每个容器的 share 是 1024。要注意,这个 share 是相对的,本身并不能代表任何确定的意义。当主机上有多个容器运行时,每个容器占用的 CPU 时间比例为它的 share 在总额中的比例。举个例子,如果主机上有两个一直使用 CPU 的容器(为了简化理解,不考虑主机上其他进程),其 CPU share 都是 1024,那么两个容器 CPU 使用率都是 50%;如果把其中一个容器的 share 设置为 512,那么两者 CPU 的使用率分别为 67% 和 33%;如果删除 share 为 1024 的容器,剩下来容器的 CPU 使用率将会是 100%。
总结下来,这种情况下,Docker 会根据主机上运行的容器和进程动态调整每个容器使用 CPU 的时间比例。这样的好处是能保证 CPU 尽可能处于运行状态,充分利用 CPU 资源,而且保证所有容器的相对公平;缺点是无法指定容器使用 CPU 的确定值。
Docker 为容器设置 CPU share 的参数是 -c --cpu-shares,它的值是一个整数。
我的机器是 4 核 CPU,因此使用 stress 启动 4 个进程来产生计算压力:
➜ stress docker run --rm -it stress --cpu 4stress: info: [ 1] dispatching hogs: 4cpu, 0io, 0vm, 0hddstress: dbug: [ 1] usingbackoff sleep of 12000usstress: dbug: [ 1] --> hogcpu worker 4[ 7] forkedstress: dbug: [ 1] usingbackoff sleep of 9000usstress: dbug: [ 1] --> hogcpu worker 3[ 8] forkedstress: dbug: [ 1] usingbackoff sleep of 6000usstress: dbug: [ 1] --> hogcpu worker 2[ 9] forkedstress: dbug: [ 1] usingbackoff sleep of 3000usstress: dbug: [ 1] --> hogcpu worker 1[ 10] forked
在另外一个 terminal 使用 htop 查看资源的使用情况:
从上图中可以看到,CPU 四个核资源都达到了 100%。四个 stress 进程 CPU 使用率没有达到 100% 是因为系统中还有其他机器在运行。
为了比较,我另外启动一个 share 为 512 的容器:
➜ stress docker run --rm -it -c 512stress --cpu 4stress: info: [ 1] dispatching hogs: 4cpu, 0io, 0vm, 0hddstress: dbug: [ 1] usingbackoff sleep of 12000usstress: dbug: [ 1] --> hogcpu worker 4[ 6] forkedstress: dbug: [ 1] usingbackoff sleep of 9000usstress: dbug: [ 1] --> hogcpu worker 3[ 7] forkedstress: dbug: [ 1] usingbackoff sleep of 6000usstress: dbug: [ 1] --> hogcpu worker 2[ 8] forkedstress: dbug: [ 1] usingbackoff sleep of 3000usstress: dbug: [ 1] --> hogcpu worker 1[ 9] forked
因为默认情况下,容器的 CPU share 为 1024,所以这两个容器的 CPU 使用率应该大致为 2:1,下面是启动第二个容器之后的监控截图:
两个容器分别启动了四个 stress 进程,第一个容器 stress 进程 CPU 使用率都在 54% 左右,第二个容器 stress 进程 CPU 使用率在 25% 左右,比例关系大致为 2:1,符合之前的预期。
*容器能使用的 CPU 核数
上面讲述的 -c --cpu-shares 参数只能*容器使用 CPU 的比例,或者说优先级,无法确定地*容器使用 CPU 的具体核数;从 1.13 版本之后,docker 提供了 --cpus 参数可以限定容器能使用的 CPU 核数。这个功能可以让我们更精确地设置容器 CPU 使用量,是一种更容易理解也因此更常用的手段。
--cpus 后面跟着一个浮点数,代表容器最多使用的核数,可以精确到小数点二位,也就是说容器最小可以使用 0.01 核 CPU。比如,我们可以*容器只能使用 1.5 核数 CPU:
➜ ~ docker run --rm -it --cpus 1.5stress --cpu 3stress: info: [ 1] dispatching hogs: 3cpu, 0io, 0vm, 0hddstress: dbug: [ 1] usingbackoff sleep of 9000usstress: dbug: [ 1] --> hogcpu worker 3[ 7] forkedstress: dbug: [ 1] usingbackoff sleep of 6000usstress: dbug: [ 1] --> hogcpu worker 2[ 8] forkedstress: dbug: [ 1] usingbackoff sleep of 3000usstress: dbug: [ 1] --> hogcpu worker 1[ 9] forked
在容器里启动三个 stress 来跑 CPU 压力,如果不加*,这个容器会导致 CPU 的使用率为 300% 左右(也就是说会占用三个核的计算能力)。实际的监控如下图:
可以看到,每个 stress 进程 CPU 使用率大约在 50%,总共的使用率为 150%,符合 1.5 核的设置。
如果设置的 --cpus 值大于主机的 CPU 核数,docker 会直接报错:
➜ ~ docker run --rm -it --cpus 8stress --cpu 3docker: Error response fromdaemon: Range of CPUs isfrom0.01to 4.00, asthere are only 4CPUs available.See 'docker run --help'.
如果多个容器都设置了 --cpus ,并且它们之和超过主机的 CPU 核数,并不会导致容器失败或者退出,这些容器之间会竞争使用 CPU,具体分配的 CPU 数量取决于主机运行情况和容器的 CPU share 值。也就是说 --cpus 只能保证在 CPU 资源充足的情况下容器最多能使用的 CPU 数,docker 并不能保证在任何情况下容器都能使用这么多的 CPU(因为这根本是不可能的)。
热心网友
时间:2022-05-08 03:29
*CPU的功率可以在BIOS设置,在BIOS里选择CPU选项,然后可以设置其速度或者是进入系统之后进入控制面板,然后选择电池性能高性能就是CPU充分发挥新的节能,就是使CPU取代低功耗模式平衡模式就是使CPU自动选择工号。
热心网友
时间:2022-05-08 05:21
你可以根据他这个需求进行一个简单的试试,或者找售后人员帮你解决就没问题了。
热心网友
时间:2022-05-08 07:29
怎么*C P U应该是通过电脑定期的清理那个内存得先去洗*的你。
热心网友
时间:2022-05-08 09:53
这个貌似,你可以把打开的软件,都关了。这个
热心网友
时间:2022-05-08 12:35
一般来说你可以在电脑设置里进行*CPU。