gcc как определить и выделить максимальный непрерывный блок динамической памяти?
|
|
Среда, 25 Августа 2021 г. 01:02
+ в цитатник
Qraizer: Результаты на 64-х битах в сходных условиях: 16Гб на i5 с одним нагруженным тем же тяжёлым скриптом ядром:
Allocated 22906492243 bytes
Residented 11453246118 bytes
Locked 7635497391 bytes
Allocated 17179869181 bytes
Residented 1610612733 bytes
Locked 1073741819 bytes
Первый экземпляр запускался, как и следовало ожидать, очень тяжело, на цикле VirtualLock() до бряка я успел сходить покурить. Второй экземпляр запустился и дошёл до бряка быстро, за пару секунд. После полуминуты в таком состоянии свопы прекратились, фоновый скрипт нормально работал, система потихонечку отходила от перенапряга, физическая память в итоге оказалась утилизирована на 88%.
P.S. На момент запуска первого экземпляра память была утилизирована на 42%, так что можно было ожидать ~9Гб залоченной памяти, но система оказалась умней.
https://forum.sources.ru/index.php?showtopic=422585&view=findpost&p=3851277
Метки:
C/C++:
Системное программирование и WinAPI
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-