当前位置:首页 > 内存 > 正文

解压吃内存还是CPU(怎么判断cpu内存控制坏了)

  • 内存
  • 2024-09-04 21:34:39
  • 1544

一、解压文件的速度瓶颈在cpu还是硬盘速度?

解压文件的瓶颈是硬盘的速度。

普通机械硬盘的速度约为50-150MB/s,SSD的速度约为150-500MB/s。普通CPU(流水线)和内存的速度约为100~。比硬盘快1000倍。

换句话来说,如果解压算法平均需要少于100条指令来解压一个字节,那么在平均数量为1个字节的情况下,硬盘速度将很难跟上CPU速度。;解压一个字节所消耗的指令不到1000条指令,因此大多数机械硬盘很难跟上CPU的速度。

简介

一般情况下,zip的解压字典只有32K或64K。解包时并不是每次都查找完整的字典,所以zip。默认配置下很难占用整个CPU。如果考虑多核,每个核的负担可能会更低,磁盘IO的负担会更重,瓶颈效应会更明显。

例如,7zip的LZMA2算法中,如果分配字典为1G,线程数为16,则压缩所需内存约为88G,这对于大多数PC来说是不够的。如果在超级计算机上压缩并在普通计算机上解压缩,CPU可能已满。


二、为什么解压缩的过程那么耗CPU和内存

解压的整体流程如下:

由于文件是从硬盘读入内存的,所以如果文件很大,内存消耗就很明显。

CPU。解压、CPU占用压缩比越高,CPU消耗越多。

解压后的文件基本上不会写入内存。;

将文件从内存写入硬盘。

第一步和第三步都会消耗内存。文件越大,CPU必须首先读写内存的次数就越多,因为它不直接与硬盘交互。第二步消耗CPU,压缩比越高,消耗越明显。


三、为什么解压时CPU使用不高,但明显电脑慢另一种情况是,如果解压后的文件太大,会占用虚拟内存(即数据暂时存放在硬盘上)。RAM内存中的数据经过处理后,从虚拟内存传输到内存。所以解压的时间会比较长。如果内存足够大,建议减少虚拟内存,这样系统就可以直接从内存中调用进程数据。注:原贴说CPU超频了。因为如果超频过高,硬件就会过热。今天的计算机自动检测温度。如果温度过高,程序会自行冻结,降低CPU频率和其他硬件的效率。建议您尝试更改默认设置。