在 SMR 笔记本硬盘上编译大项目真的很恶心

2022-02-12 20:38:02 +08:00
 wildlynx

手上一台公司配的 HP 笔记本,配置如下: intel 10210U CPU 16GB RAM 128G SSD 系统盘 1T SMR 机械硬盘

SSD 硬盘基本没什么空间,只能在机械硬盘存开发项目。 使用 VS2017 编译公司一个中型的医疗相关的 C++项目,时不时会 VS 僵死。编译一个修改的 C++小文件也要花很久。编译过程中,CPU 占用率不算高,内存占用也低。另外 SMR 机械硬盘的占用没有超过 50%。

有人遇到上述的问题吗?

2336 次点击
所在节点    分享发现
19 条回复
jim9606
2022-02-12 20:47:17 +08:00
跟公司商量换硬盘吧,这个没啥办法,SMR 额外忌讳小文件写入。
128G+1T 典型坑企业采购的组合,真不如一个 512G SSD 。
kokutou
2022-02-12 20:49:28 +08:00
单核满了吧,任务管理器看看 CPU 分核心的占用率看看
wildlynx
2022-02-12 21:14:50 +08:00
@jim9606 的确是垃圾配置
@kokutou 单核没有满
AX5N
2022-02-12 21:21:30 +08:00
你怎么证明是 smr 硬盘的问题,你把这些文件全部读入内存就要花很长的时间?
ilylx2008
2022-02-12 21:33:02 +08:00
自己换个 240g 固态,200 块钱就能解决的事。。
guowq
2022-02-12 22:08:54 +08:00
实在不行京东买个垃圾 nvme ,套个硬盘盒,接口 3.0 以上都很舒服,千万记得勤备份
kkocdko
2022-02-12 22:09:59 +08:00
首先要确定是不是硬盘的问题,还是建议丢到 SSD 尝试一下。我不相信 128G 的 SSD 会没位置放项目,挪一挪总能腾出位置,足够尝试一下的。
elfive
2022-02-12 22:27:55 +08:00
VS 本身多核(多线程)编译就拉垮,碰到的还是 C 和 C++,就意味着编译速度还和你们项目架构有很大关系,如果多采用 include 而非前置声明这种方式或者大量的模板类或者一个 cpp 动不动上千行代码就会有这样的问题
archxm
2022-02-12 22:46:05 +08:00
@guowq
2.5 的 ssd 套壳更便宜吧。
nvme 的壳太贵了,100 以上了。2.5 的壳才 20 多块钱。
learningman
2022-02-12 23:11:20 +08:00
要不开个 2G 的内存盘?
qaweqa
2022-02-12 23:28:15 +08:00
我感觉你这个大概率不是硬盘问题 反而可能是 cpu 太烂了
mason961125
2022-02-13 03:43:10 +08:00
编译这种大量小文件随机独写的负载使用 HDD 确实会变得很慢,但是建议使用 控制变量法 来逐个排除找出问题,不然盲目的解决大概率是要花冤枉钱的。

再说了,公司发的电脑,如果慢那就慢,leader 说你进度慢?我编译就这速度,不然你给我换电脑?
wildlynx
2022-02-13 07:56:52 +08:00
@elfive C 盘已经 windows 10 占了大部分空间了
elfive
2022-02-13 08:25:30 +08:00
@wildlynx 代码放 C 盘,中间目录指向一个内存盘,既不怕断电开关机丢数据,又有 SSD 的速度
siknet
2022-02-13 10:01:33 +08:00
弄个二手 m.2 加二手硬盘盒,稳妥
ch2
2022-02-13 11:09:05 +08:00
代码本身占不了了多少空间,你把体积大的静态资源外置单独放在机械硬盘里,.cpp 这些代码放到 ssd 里,做一下区分就行了
Cu635
2022-02-13 11:22:27 +08:00
@ilylx2008
公司给配的电脑,当然要找公司解决问题啊。

@kkocdko
win10+vs 的话,128G 真的不算大……
ilylx2008
2022-02-13 15:55:37 +08:00
@Cu635 自己解决省事省时间,也就 200 块,自己用的爽就行。
luoshengdu
2022-05-09 14:13:20 +08:00
SMR 叠瓦技术的特性:在磁盘容量满了之后,再次写入时才会感觉到慢。
恢复性能的办法也很简单,重新把盘格式化一次 /做 碎片整理都可以

所以在你新盘使用过程中,是不会慢的,它的写入性能同 pmr 盘一样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/833455

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX