Цитата:
Сообщение от Lester
"и смотрел опять размер свободной памяти, но она как была свободной, так и оставалась" - значит рантайм C# изначально запросил достаточно памяти для размещения новых данных. Это делается для оптимизации. Даже банальный malloc большей частью занимается просто "нарезанием", а не вызовом syscall mmap на каждый чих. Ну или смотреть использование памяти было надо не там.
|
я могу ошибаться, но это вполне может быть результат работы garbage collector'a. то есть объекты, к которым нет обращения, уничтожаются. я допускаю, что если создан огромный массив, к торому потом нет никакого референса, довольно быстро уничтожается. а долго это могло происходить, если массив больше свободной памяти, поэтому задействовался своп.