7zG.exe, завернутый в процесс, занимает много памяти - PullRequest
0 голосов
/ 12 марта 2019

В моем приложении WPF у меня есть этот вспомогательный метод:

     public static void CreateZip(string[] source, string targetZipName)
    {
        string sourceName = string.Join(" ", source.Select(f => "\"" + f + "\""));
        ProcessStartInfo p = new ProcessStartInfo();
        p.FileName = @"C:\Program Files\7-Zip\7zG.exe";
        p.Arguments = "a \"" + targetZipName + "\" " + sourceName + " -mx=9";
        p.WindowStyle = ProcessWindowStyle.Hidden;
        Process x = Process.Start(p);
        x.WaitForExit();
    }

Я передаю пути к двоичным файлам и один CSV-файл, чтобы сжать их в архив 7z. Проблема заключается в том, что такой обернутый процесс 7z требует много памяти для архивирования файла размером 300 МБ. Когда я запускаю 7z независимо от cmd или его графического интерфейса, это занимает гораздо меньше оперативной памяти. enter image description here

...