Chỉ cần đặt câu hỏi, tôi đã thực hiện trên một máy ảo không thể thay đổi được các bước tiếp theo:
- Khởi động SystemResTHERCD và gắn kết phân vùng windows
- Liệt kê tất cả các tệp trên đĩa vào một tệp nhật ký (dưới một phút)
- Khởi động lại vào Windows
- Hãy
cleanmgr
thực hiện công việc của nó và ghi chú thời gian (hơn tám giờ)
- Khởi động lại vào SystemResTHERCD và gắn kết phân vùng windows
- Liệt kê tất cả các tệp trên đĩa sang một tệp nhật ký khác (chưa đầy một phút)
- Đặt lại máy ảo không thể thay đổi
- Khởi động lại vào Windows
- Thực hiện FOR / F ... để xóa các tệp như vậy trong dấu nhắc lệnh quản trị viên (cmd) và ghi chú thời gian (dưới năm phút)
Xin lưu ý rằng tôi đã khởi động lại vào Linux SystemResTHERCd để có thể liệt kê tất cả các tệp, cũng là những tệp được Window tìm và cũng có thể liệt kê nhanh nhất có thể (không cần kiểm tra acl, v.v.).
Ngoài ra, xin lưu ý rằng cleanmgr
tôi chỉ tính thời gian sau khi kết thúc tìm kiếm (bản thân quá trình tìm kiếm cũng mất hơn sáu giờ).
Vì vậy, xóa các tệp không phải là cổ botle (bản thân việc xóa chỉ cần năm phút nhưng cleanmgr
mất hơn tám giờ).
Việc tự xóa có thể diễn ra quá nhanh vì máy chủ là Linux, tốc độ đó được gây ra chỉ vì Linux lưu trữ tất cả ghi vào tệp có kích thước cố định được sử dụng làm đĩa trên máy ảo (24GiB) và vì tôi có 64GiB RAM và tôi cho Windows 16GiB, nó không cần sử dụng SWAP cũng không phải PAGEFILE.SYS; Ngoài ra, Linux có thể giữ toàn bộ tệp trên RAM (tôi đã kiểm tra tệp đó trên RAM và thời gian xóa được thực hiện rất nhiều, nhưngcleanmgr
thời gian không giảm xuống).
Có, nếu tôi đặt đĩa ảo hoàn toàn vào RAM, cleanmgr
thời gian sẽ không giảm nhưng nếu tôi xóa các tệp một cách cẩn thận, thời gian đó sẽ giảm xuống một chút (bộ đệm Linux ghi rất tuyệt khi bạn có 64GiB RAM trên đó).
Cấu hình của tôi cho các bài kiểm tra:
- Máy chủ lưu trữ: Linux 64 bit phân phối trên một phần cứng mà các bộ phận chính là AMD Deca Core 5GHz với 64GiB RAM và bộ điều khiển Sata Raid0 với hai ổ cứng WD VelociRaptor (có thể duy trì tốc độ ghi tạm thời kết hợp gần 1GiB / giây và ghi ngẫu nhiên 4K 300MiB / giây); chi phí là> mười nghìn euro
- Khách: Windows 10 Home với 16GiB ram và đĩa ảo 24GiB
Test1: Có đĩa ảo 24GiB trên ổ cứng vật lý Test2: Có đĩa ảo 24GiB trên RAM máy chủ Linux
Tôi sợ rằng cleanmgr
đang làm một cái gì đó trên sổ đăng ký trên mỗi tệp mà nó xóa (truy cập vào sổ đăng ký rất thấp).
Màn hình tôi đã có:
- Sử dụng CPU trên máy chủ Linux và trên Windows Guest (hầu hết thời gian từ 0% đến 1%, với mức tăng 5%, không hơn)
- Sử dụng ổ cứng trên máy chủ Linux (gần 0% khi hoạt
cleanmgr
động, với mức tăng 2%), bộ đệm đĩa Linux thực sự tuyệt vời tránh việc gửi dữ liệu vào đĩa thực
- Sử dụng ổ cứng trên máy khách Windows (hầu hết thời gian từ 2% đến 15% khi hoạt
cleanmgr
động, với mức tăng 28%)
Vì vậy, rõ ràng cleanmgr
là làm rất nhiều công việc không thể phát hiện, có thể thời gian ngủ? Có thể không, nếu đó là đăng ký, CPU không được tính bởi màn hình Windows, ổ cứng không được sử dụng (registry nằm trên RAM), v.v. và mỗi lần truy cập vào sổ đăng ký có thể mất hơn một giây .. . hãy thử chương trình của riêng bạn để truy cập sổ đăng ký bằng cách mở sổ đăng ký và đóng mỗi lần hành động thay vì để HK * mở ... đó là một sự khác biệt lớn.
Vì vậy, nếu cleanmgr
làm cho mỗi tập tin:
- Mở đăng ký HK *
- Tham khảo bất cứ nhu cầu nào và / hoặc thực hiện một số ghi trên sổ đăng ký
- Đóng đăng ký HK *
Nó có thể mất tới hai hoặc ba giây cho mỗi thao tác và nếu thực hiện một thao tác trên mỗi tệp, có thể mất gần một giờ cho mỗi nghìn tệp ... số lượng tệp của tôi chỉ hơn 40000 tệp một chút, vì vậy 40000 tệp / 8 giờ đang xử lý một tệp mỗi 1,3 giây ... mặt khác, việc xóa chúng trên một tập lệnh (sau khi biết các tệp đó) mất ít hơn năm phút, tức là xóa khoảng 133 mỗi giây ... một hufe Sự khác biệt.
Vì vậy, chắc chắn cleanmgr
thời gian không phải là do deletion
nó tự gây ra ! Nó đang làm gì khác? Xin M $ cải thiện tốc độ đó!