V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Poto
V2EX  ›  程序员

如何让程序 100%占用 cpu 资源以便快点完成任务

  •  
  •   Poto · 2020-01-17 19:38:30 +08:00 · 6516 次点击
    这是一个创建于 1767 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如何通过手段让程序作业时占用 100%的 cpu 资源
    我的一个转换软件在作业时只占用 13%的 cpu,可我机器有充沛的算力盈余,想要它占满 cpu 资源,跑满
    23 条回复    2020-01-19 16:07:41 +08:00
    asuraa
        1
    asuraa  
       2020-01-17 19:39:48 +08:00 via iPhone
    那你程序得支持多核运算 并且你程序的瓶颈不在 io 上
    ZRS
        2
    ZRS  
       2020-01-17 19:41:53 +08:00
    找到问题瓶颈
    mituxiaomanong
        3
    mituxiaomanong  
       2020-01-17 19:46:35 +08:00 via Android
    开多线程跑啊
    Meltdown
        4
    Meltdown  
       2020-01-17 19:46:39 +08:00 via Android
    减少 IO 减少锁
    dazhangpan
        5
    dazhangpan  
       2020-01-17 20:48:12 +08:00
    找个 Profiler 看看
    Juszoe
        6
    Juszoe  
       2020-01-17 21:28:23 +08:00
    肯定有某项资源跑满了,cpu 不要看总占有率,要看每个 cpu 线程的占用
    CallMeReznov
        7
    CallMeReznov  
       2020-01-17 21:33:04 +08:00
    任务管理器--详细信息--进程--右键--优先级---实时
    secondwtq
        8
    secondwtq  
       2020-01-17 22:11:42 +08:00
    你把其他的核都关掉就行了
    msg7086
        9
    msg7086  
       2020-01-17 22:19:51 +08:00
    @CallMeReznov 实时并不能提高 CPU 占用率,而且操作不当会卡死操作系统导致数据损失。不知道你是真不懂还是故意这么说的。
    CallMeReznov
        10
    CallMeReznov  
       2020-01-17 22:34:07 +08:00
    @msg7086 #9
    转换软件作业比如压片过程中通过调整进程优先级的操作都不知道用了几十年了.
    我不知道你是真不懂还是故意这么说的。
    happy7902
        11
    happy7902  
       2020-01-18 01:11:03 +08:00 via iPhone
    问出这种问题的就不是个程序员
    happy7902
        12
    happy7902  
       2020-01-18 01:12:46 +08:00 via iPhone
    While sleep 1 如何占满 cpu
    flynaj
        13
    flynaj  
       2020-01-18 01:33:36 +08:00 via Android
    13%说明你的 CPU 是 8 个逻辑核心,其中一个已经占满了,你的软件不支持多核
    xcstream
        14
    xcstream  
       2020-01-18 04:25:31 +08:00
    多开几个
    sugarsalt
        15
    sugarsalt  
       2020-01-18 04:28:01 +08:00
    转换啥?视频的话可以切片,多开,再拼回来封装。
    Lightbright
        16
    Lightbright  
       2020-01-18 04:46:44 +08:00 via Android
    搞一个单核心很强的 CPY
    augustheart
        17
    augustheart  
       2020-01-18 22:06:49 +08:00
    如果你的程序是计算密集型的,不需要怎么弄就能 100%
    然而大部分软件都是各种 IO 占用了最多的时间。
    augustheart
        18
    augustheart  
       2020-01-18 22:07:53 +08:00
    这帖真不应该在一个自认“程序员”占多数的社区出现
    mxalbert1996
        19
    mxalbert1996  
       2020-01-19 00:05:16 +08:00 via Android
    @CallMeReznov 去了解一下进程调度原理吧,在占用率本来就没满的情况下改进程优先级并没有什么卵用。
    realpg
        20
    realpg  
       2020-01-19 14:14:18 +08:00
    @CallMeReznov #10
    可怜的孩子 被网上智障傻瓜攻略误导了几十年……

    很多场景有用,楼主这个场景完全没用
    CallMeReznov
        21
    CallMeReznov  
       2020-01-19 15:34:40 +08:00
    @mxalbert1996 #19
    @realpg #20



    就是个建议,且转换软件本身自带优先级调整的设置,真有严重的安全稳定隐患我相信本身软件也不会提供的吧?
    也不知道惹了各位哪位大佬哪点 G 点,不过不要紧,我先道歉,我错了.
    毕竟不能比各位指点江山的大佬更高.
    对不起.
    vow
        22
    vow  
       2020-01-19 15:44:08 +08:00
    个人建议
    转换软件在作业时
    打一会怪物猎人世界
    cpu 100% 占用没问题
    逃了~~~~~~~~~~~~
    augustheart
        23
    augustheart  
       2020-01-19 16:07:41 +08:00
    @CallMeReznov 这么说吧,从 windows 来讲,优先级高只是让进程有更多机会获取到别的进程放弃的时间片。但是它并不能让本来只有 10%占用的软件占用到 100%。对于一段频繁放弃时间片的代码,优先级没有任何作用。而对于死死赖在用户空间的代码,别的线程优先级再高也占不到什么便宜。
    windows 的优先级调整的用处真不大。也就是在所有其它优化手段都已经没有作用的时候能够死马当活马医。不能说完全没效果,但是对楼主的需求来说还真就是完全没效果。
    以上,包括我在这帖的所有回复,都是基于单核考虑,多核下会复杂一些,但是脱不开这个原理。多核下面只不过是多开个线程再占个核,同时要绞尽脑汁考虑如何在多线程之间共享资源,或者弄个超级低效的 1+1 约等于 1 的算法,反正数字飙上去了,效率管他娘呢。(曾经好压弄了个多线程处理 zip 的特性,然而看效率很有这个嫌疑……)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1047 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:43 · PVG 03:43 · LAX 11:43 · JFK 14:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.