I'm facing a strange issue whereby extracting a WIM archive takes inexplicably long. I would be okay with that if I saw high CPU utilization, or more likely high disk utilization, but neither is the case. Disk utilization hovers around ~0-25% for both source and target, cpu is almost idle.
When using wimlib's "apply" to extract the image, target disk I/O is the bottleneck. But with 7-zip, I'm not sure what is. I turned off my antivirus program temporarily, and I also observed the behavior via process monitori; what I can see is that 7zip sort of "pauses" before it processes a batch of data, then pauses again.
OS: W10 x64 1703 latest updates
7Zip: 18.06
CPU: AMD TR 1950x
Source device: Regular disk (~150-180MB/s seq read)
Target device: A different regular disk (same speeds)
Archive is approx. 300GB, lots of which are identical files (which are referenced thanks to WIM store).
WIM archive has been created through wimlib with lzms compression.
If you need some other info, please let me know.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Running it now. I have 128GB RAM so the entire source file is currently cached, eliminating source disk I/O from the equation completely. I'll paste the results when done.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
So it took 5441 seconds (slightly over an hour and a half). Extracting via wimapply took about 30 minutes, including writing the data out to a new disk, and at all times the target disk was ~100% utilized.
Here are the statistics. The file was already cached because I had unpacked it via wimlib when 7zip was so slow. (verified via rammap and also trying to read the file produced no disk I/O), so Disk I/O was unaffected.
Reading the file from bash (WSL) to cofirm:
Current$ ls -ltrh Current_repacked_128M_16t.wim
-rwxrwxrwx 1 root root 63G Dec 27 17:18 Current_repacked_128M_16t.wim
Current$ time cat Current_repacked_128M_16t.wim > /dev/null
real 0m20.011s
user 0m0.078s
sys 0m19.828s
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I don't remember datails of 7zip's wim code now.
There are different cases: solid/nonsolid.
Maybe 7-Zip unpacks each copy of duplicate files.
And another programs can use buffers or copy the data from filesystem.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This is a solid archive, yes. Using LZMS compression, 128M chunks. Is there something I can do or should I use the other program to unpack my WIMs instead? If you need some more troubleshooting info I can provide it.
Thanks!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Actually I don't know why there were pauses.
"Test" command shows 97% of one CPU thread load. So no pauses there.
Now it's to difficult to think about that wim code. I don't remember details.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello!
I'm facing a strange issue whereby extracting a WIM archive takes inexplicably long. I would be okay with that if I saw high CPU utilization, or more likely high disk utilization, but neither is the case. Disk utilization hovers around ~0-25% for both source and target, cpu is almost idle.
When using wimlib's "apply" to extract the image, target disk I/O is the bottleneck. But with 7-zip, I'm not sure what is. I turned off my antivirus program temporarily, and I also observed the behavior via process monitori; what I can see is that 7zip sort of "pauses" before it processes a batch of data, then pauses again.
OS: W10 x64 1703 latest updates
7Zip: 18.06
CPU: AMD TR 1950x
Source device: Regular disk (~150-180MB/s seq read)
Target device: A different regular disk (same speeds)
Archive is approx. 300GB, lots of which are identical files (which are referenced thanks to WIM store).
WIM archive has been created through wimlib with lzms compression.
If you need some other info, please let me know.
call the command:
Running it now. I have 128GB RAM so the entire source file is currently cached, eliminating source disk I/O from the equation completely. I'll paste the results when done.
Then run again.
So that second run must be from file cache.
Last edit: Igor Pavlov 2019-01-08
So it took 5441 seconds (slightly over an hour and a half). Extracting via wimapply took about 30 minutes, including writing the data out to a new disk, and at all times the target disk was ~100% utilized.
Here are the statistics. The file was already cached because I had unpacked it via wimlib when 7zip was so slow. (verified via rammap and also trying to read the file produced no disk I/O), so Disk I/O was unaffected.
Reading the file from bash (WSL) to cofirm:
I don't remember datails of 7zip's wim code now.
There are different cases: solid/nonsolid.
Maybe 7-Zip unpacks each copy of duplicate files.
And another programs can use buffers or copy the data from filesystem.
This is a solid archive, yes. Using LZMS compression, 128M chunks. Is there something I can do or should I use the other program to unpack my WIMs instead? If you need some more troubleshooting info I can provide it.
Thanks!
Actually I don't know why there were pauses.
"Test" command shows 97% of one CPU thread load. So no pauses there.
Now it's to difficult to think about that wim code. I don't remember details.