[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: почему ядро не сбрасывает кэш?



On 12/9/15, Max Dmitrichenko <dmitrmax@gmail.com> wrote:

>> Все несколько сложнее чем кажется на первый взгляд, но сообщения о
>> нехватке
>> памяти может быть получено когда память есть, но не та которая нужна
>> приложению - в данном случае java попросила 1 страницу 8к, и их не
>> оказалось, а вот страниц 4к, 16к и т.д. вполне могло быть в достатке.
>
> Это какие новости операционно-системо-строения. С какого это рожна
> приложению не всё равно какая там память? Приложение оперирует
> виртуальными адресами и две соседние по виртуальным адресам страницы
> памяти могут лежат в противоположных уголках физической. И ничего
> приложение про это не узнает. Поэтому если у ядра есть две странички
> по 4К, выделить их приложению и промапить их на подрядидущие адреса не
> составляет никакого труда. Если подходящий свободный диапазон
> виртуальных адресов есть в пространстве процесса.
>
> Кроме того, не знаю о какой архитектуре идет речь, но на x86 все
> страницы, кроме huge, 4k. Поэтому не понятно, о каких страницах по 16К
> вы тут пишите.

О buddy-аллокаторе разговор, у него разные страницы, видимо, не совсем
правильно называть их страницами.

Reply to: