第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

如何讓CPU滿載運行(100%占用)

多年来,我与许多系统管理员打交道,每年至少会有人问我两回同样的问题:“我需要在这台机器上快速制造一些假的CPU负载,我该用哪个CPU压力测试软件?”

如果我们只是需要非常基础的需求(即我们只想看到一个或多个核心达到100%的CPU使用率),或许我们可以考虑自己动手。

一句简洁的话

我们只需要将这一行C代码放进一个文件里,使用gcc -o stressme stressme.c(或在Windows上用cl stressme.c)进行编译,然后运行它,使用./stressme(或运行stressme.exe)。

这段代码定义了一个主函数,它包含一个无限循环,这个循环会一直运行下去,直到程序被外部因素中断。

切换到全屏模式,退出全屏

当程序运行时,我们会看到某个核心的CPU使用率达到了100%。如果有多核心,我们就可以分别在每个核心上运行该程序。

多线程技术

或者我们也可以使用线程,这里有一个使用了4个POSIX线程(POSIX threads)的例子。


```c
#include <pthread.h>
#include <unistd.h>

#define NUM_THREADS 4

// 定义一个无限循环的线程函数
void *loop(void *arg) {
    while (1) {}
}

// 主函数
int main() {
    pthread_t threads[NUM_THREADS];
    // 创建指定数量的线程
    for (int i = 0; i < NUM_THREADS; i++)
        pthread_create(&threads[i], 0, loop, 0);
    // 暂停程序执行直到接收到一个信号
    pause();
}

全屏模式 退出全屏

(构建时请加上 -pthread 标志,如下所示:gcc -o multistress multistress.c -pthread

这为啥管用?

我们正陷入一个无限循环。当你查看C语言一行代码的汇编代码时,你会发现CPU一直在忙着做同一件事:尽可能快地执行跳转指令(jmp)。

    global _start

    _start:
        jmp _start  # 全局变量_start: 跳转到_start (形成无限循环)

全屏模式 切换回正常模式

如果我们使用的是旧的操作系统,采用协同多任务处理,那么这样的无限循环很可能使系统变卡。而在现代抢占式多任务处理系统中,无限循环会耗尽所有处理器时间,但仍可终止。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
手記
粉絲
43
獲贊與收藏
189

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消