每天晚上会睡眠或休眠
任务管理器同样是占用接近 100%的 cpu 。如果长时间用不关机(十几天),就会很卡。而重启后,cpu 占用接近 100%,却很流畅,甚至比重启前关掉所有软件 cpu 没怎么占用(10%)还流畅。(比较明显的表现是,alt+tab 切换不同软件窗口和按 win 键弹出开始菜单,明显慢)
我猜测的原因是跟内存有关(但是重启前很卡的时候,内存也只占用了大概 75%。重启后占用 50%)?还是什么其它的奇特原因
1
saranz 184 天前 1
久了卡应该是常驻的应用被优先安排到了虚拟内存,而真实内存留出来给新开应用使用。
重启变快,应该是把虚拟内存释放掉,程序重新被真实内存调用。但是久了后还是会被移动到虚拟内存里。 |
2
DefoliationM 184 天前 via Android
感觉 Windows Mac 都是,长时间不关就会很卡,但是 Linux 就不会,几个月不关都无所谓。
|
3
w568w 184 天前 5
先纠正 1 楼的回答。
> 久了卡应该是常驻的应用被优先安排到了虚拟内存 「虚拟内存」是指「用户进程不能访问真实物理内存地址,只能看到分给自己的内存映射」,是操作系统的一种设计。你指的应该是「交换空间」/「页面文件」这种技术。 在 SSD 上,一般应用(如 QQ 、微信)换入/换出交换空间只需不到 200 毫秒时间,和楼主说的「十几天」的跨度应该对不上。 > 久了后还是会被移动到虚拟内存里 操作系统一般不会闲着没事把软件移动到交换空间里,最多在闲时进行内存压缩。但这也不影响性能。 ---- 然后回答楼主的问题。对系统流畅度造成压力的一般就是 CPU 、内存和 I/O 三大部件。先说结论:最可能出问题的是内存。 1. CPU:随着运行时间增长,一些设计不良的软件更可能进入一些错误状态(例如某软件每小时发生一次并发访问,而开发者根本没考虑并发问题。随着运行时间增长,程序越来越可能发生死锁或死循环)。然而这样的情况少之又少,一般来说异常的进程会直接占满 CPU ,很容易被察觉。 楼主说的「占用接近 100% 的 cpu 」「所有软件 cpu 没怎么占用(10%)」,我猜是指看到的瞬时占用。这个数值没多大意义,和卡顿与否无关,需要取一段时间的平均值。可参考 Linux 上的 load 。 2. 内存:类似的,一些设计不良的软件可能发生内存泄露(微软自己的 explorer.exe 和 dwm.exe 到今天还会偶发内存泄漏问题,更不要说一般开发者了),这是最主要的原因。内存泄漏将持续增加资源占用,最终触发内存交换,拖慢系统速度。 这里比较重要的指标可能是提交总量,75% 应该是物理内存的实际占用,大量交换可能已经发生了。 3. I/O:主要是 SSD 、显卡、网卡等。这个就看具体设备的驱动是否有缺陷、是否经过完备的测试了。 |
4
786375312123 184 天前
@DefoliationM macbook m2, ventura, 都不知道多久没关机了,一点都不卡。
|
5
loveumozart 184 天前
macos 一样的,我的公司的电脑一个周两个周不重启,必卡。32g i7 版 macbookpro 。
|
6
hrdom OP 这里的很卡,比如说,从 chrome 通过 alt tab 切到 vscode ,要大概两秒。而重启后,这样切换,感激不到延迟,一秒可以切两三次
|
7
zhuawadao 184 天前
有同样的困扰,发现,如果电脑温度能降下来,能够减少卡顿程度。当然没有重启有效
|
8
night98 184 天前
这种情况有可能是软件问题,我最近就发现我电脑上的 steam ,每次都会跳弹窗,然后我就会发现电脑在一段时间之后变得特别慢,原因就是 steam 一直在拉起一个叫 steamwebhelper 的进程,但是一直拉失败了,就会拉起很多相同的进程。你这种情况你要去看下后台。
|
9
DefoliationM 184 天前 via Android
@786375312123 我这 Windows server 进程日常内存泄漏,不重启根本降不下去。
|
10
vialon17 184 天前
吐槽:Firefox 也有类似地问题,放的时间长能吃 2g 多内存,,,
|
11
Ja22 184 天前
忘记之前是啥提醒我了,Windows 让我重启电脑,说否则会卡,我猜内存泄漏?
|
12
shinession 184 天前
推荐用 ltsc 版, 长时间不重启也没事, server 版就更稳定了, 几年不重启都行
|
13
fangxiaoning 184 天前 1
同样,感觉是有什么句柄泄露,长期不重启就会越来越卡,尤其是切换窗口和打字,肉眼可见地变卡了,必须重启才能解决
|
14
totoro52 184 天前 1
一样,我 21 年就说过这个问题了,有时候电脑一个月没关,非常的卡断,ide 敲几行代码才出提示,重启完就瞬间解决了,就算把所有应用都关掉也不行,我感觉也是内存的问题,因为我关掉后还是很大一部分内存没回收回来,应该是发生了泄露
|
15
nekoneko 184 天前
我电脑常年不关机, 用起来没啥问题. 我是 11
|
16
ouqihang 184 天前
电脑开到自动更新重启都不卡,但间隔不会超过 25 天到 30 天,总会有更新强制重启。
|
17
esee 184 天前 via Android
我是 10 ,一般一个月左右重启一次,平时不关机,出门都是远程桌面回来继续开发。没觉得时间长了会卡,最常碰到的是微信开发者工具长时间不关把内存占满了很卡关掉重新开就好了
|
18
zktz 184 天前
分享一下我的经验。如果我的笔记本 windows ,盒盖子休眠,且不插电源一段时候后。就算再插上电源唤醒,也是非常非常非常的卡。原因是 cpu 降频了。就算 cpu 、内存、固态硬盘负载都非常低。但是也非常非常非常的卡,是因为 cpu 降频了。基本上 cpu 徘徊在 1Ghz 左右。这时候只要重启计算机。风扇就会狂转,cpu 上到 3Ghz 以上。
如果是在家,不合上盖子,一直插着电源,就是时间长了它自己休眠。那么再次唤醒,基本上不会降频。 所以我觉得是省电策略导致的。 |
19
seanxx 184 天前
m1pro 印象里从来没关过机 不卡
|
20
heliotrope 184 天前
软件问题 我 Nas 经常半年多才重启(打系统更新的补丁
winServer 更是部署以后就没重启过 公司的电脑 装了什么绿盾之类的加密 几天不重启 就卡的不行 |
21
chinaguaiu 183 天前
我这里是因为要用 wsl 开 docker ,10 天左右不关机必卡崩。现在 docker 不用的时候手动关闭、关闭 ws ,谷歌后台之类的也关掉,还是需要每周重启一次才能保证电脑流畅度
|
23
fengYH8080 183 天前
这个可以从计算机组成 + 操作系统的知识来分析。
CPU 只是负责执行指令,而运行时间长短应该不会影响到 CPU 内部 3 级 Cache 的命中率,不过有可能随着时间的堆叠进程或者线程慢慢变多导致 Cache 频繁的置换从而使 Cache 命中率下降。当然也有可能这种情况会导致中断指令频繁。 然后就是内存,这个是大概率的原因了,刚开机的内存就是一大块,随着运行时长内存碎片化是不可避免的,然后碎片化整理肯定花费时长,不过这点我觉得应该影响不是特别大。 主要可能是很多软件的设计问题,随着运行时间的增加,内存占用一直增加,就例如我用 webstorm 内存老是用久了内存会增加到它不应该用到那么多内存的量级。多进程争抢内存也会导致很多内存会放在虚拟内存中,结果就是内存命中率下降,操作系统内存置换算法也要时间,就最终会感觉到电脑没有刚开始的流畅。 总结:内存命中率下降。 |
24
iooco 176 天前
我的是睡眠唤醒三五天之后偶尔会突然鼠标很卡 移动都很慢 打字都卡顿 然后过一段时间就好了
|
25
hrdom OP 16 天没关机,卡的要死了(切换窗口两三秒),cpu 只占了 30%,内存 12/16g
|
27
hrdom OP 折磨了我两三年的问题今天解决了!!!!!
首先经过一系列搜索,最大可能是内存 memory 的问题。然后我搜到了这个 https://superuser.com/questions/1077801/my-windows-10-pc-got-really-slow-although-cpu-and-memory-usage-is-fine-what-els 然后就用 Process Explorer 研究 Select Columns---Process Memory 下的一些数据 首先我是结束了 Page Faults 最高的 clash ,但是并没有明显改变 然后我又观察了观察,按 Private Bytes 排序,发现 QQPYClipMonitor.exe 这个进程很奇怪。Private Bytes 1,713,768K 但是 Working Set 只有 134,716K ,Private Bytes 明显高于 Working Set ,然后结束了这个进程。发现不卡了,切换窗口、打字,明显变快了!!! |
29
hrdom OP |
30
fangxiaoning 124 天前
我也排查出来了,是讯飞输入法卡了,好像很多输入法开久了就会卡。。结束进程重开又好了,不知道是什么原理,也许是有内存泄露或者句柄泄露
|