The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Как уменьшит дисковый кэш?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Драйверы, оборудование / Linux)
Изначальное сообщение [ Отслеживать ]

"Как уменьшит дисковый кэш?"  –1 +/
Сообщение от ПавелСemail (ok), 24-Дек-16, 11:53 
У меня 16Gb RAM на домашнем десктопе. Например при сборке ядра Linux дисковый кэш вырастает до 10Gb. При этом время сборки ядра вместо 1 часа (на 4Gb RAM, kernelcmd: mem=4G ) возрастает до 2 часов. Хотелось бы иметь всю RAM доступной, но дисковый кэш ограничить например 2Gb.
Гуглил, есть советы но для старых ядер. В Documentation/kernel_parameters.txt ничего не нашёл.
Плиз посоветуйте, как решить эту проблемму?  
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Как уменьшит дисковый кэш?"  –1 +/
Сообщение от DeerFriend (?), 24-Дек-16, 12:50 
swap есть? Попробуй отключить.


Ответить | Правка | Наверх | Cообщить модератору

2. "Как уменьшит дисковый кэш?"  +/
Сообщение от Andrey Mitrofanov (?), 24-Дек-16, 14:08 
> У меня 16Gb RAM на домашнем десктопе. Например при сборке ядра Linux
> дисковый кэш вырастает до 10Gb. При этом время сборки ядра вместо
> 1 часа (на 4Gb RAM, kernelcmd: mem=4G ) возрастает до 2
> часов. Хотелось бы иметь всю RAM доступной, но дисковый кэш ограничить
> например 2Gb.
> Гуглил, есть советы но для старых ядер. В Documentation/kernel_parameters.txt ничего не
> нашёл.
> Плиз посоветуйте, как решить эту проблемму?

1/ http://unix.stackexchange.com/a/87909 -- но будет же только хуже.

2/ Сделай tmpfs достаточного для своей сборки объёма -- собирай на ней.
2a/ Да-да, своп включить и увеличить, если понадобится.

Мне помогло - сборки стали быстрее (не во много раз, но раза в полтора+-, вроде). Я 15ГБ tmpfs делаю и не морочаюсь: на 6ГБ физ.ОЗУ с доп.свопом в файлах -- на время сборки. Или 8ГБ на другой машине с 3ГБ физики.

Про "ограничение кеша", swappiness и пр.чорные магии - я не копенгаген.
http://stackoverflow.com/questions/17148091/page-cache-limit
http://www.linuxquestions.org/questions/linux-newbie-8/limit.../

Про 16ГБ вдвое медленнее 4ёх ГБ -- тоже: очень странно, но не знаю, чего бы это могло быть. Может, в зале есть "ядерщики"...

3x/ Мне было бы интересно услышать, не станет ли внезапно сборка ядра (хотя тест так себе...) быстрее на i386 установке ОС (и компиляторе), и всё ещё x86_64 ядре под ними (вся память доступна). Я так "живу" (...кроме серверов с постгресом, 10Г shared буфера _в_нём_ и 128Г физики), но сам не тестировал в сравнении с "прогрессивной" дважды жручей архитектурой.

Ответить | Правка | Наверх | Cообщить модератору

3. "Как уменьшит дисковый кэш?"  –1 +/
Сообщение от ПавелСemail (ok), 24-Дек-16, 14:28 
>> У меня 16Gb RAM на домашнем десктопе. Например при сборке ядра Linux
>> дисковый кэш вырастает до 10Gb. При этом время сборки ядра вместо
>> 1 часа (на 4Gb RAM, kernelcmd: mem=4G ) возрастает до 2
>> часов. Хотелось бы иметь всю RAM доступной, но дисковый кэш ограничить
>> например 2Gb.
>> Гуглил, есть советы но для старых ядер. В Documentation/kernel_parameters.txt ничего не
>> нашёл.
>> Плиз посоветуйте, как решить эту проблемму?
> 1/ http://unix.stackexchange.com/a/87909 -- но будет же только хуже.

Спасибо, понятно как высвободить кэш, но это единовременно.

> 2/ Сделай tmpfs достаточного для своей сборки объёма -- собирай на ней.

Делал, собирал ядро на 12G tmpfs. Меня больше интересует регрессия производитетльности 16 vs 4 Gb ОЗУ.
> 2a/ Да-да, своп включить и увеличить, если понадобится.

Своп есть, ничего не свопится.
>[оверквотинг удален]
> http://stackoverflow.com/questions/17148091/page-cache-limit
> http://www.linuxquestions.org/questions/linux-newbie-8/limit.../
> Про 16ГБ вдвое медленнее 4ёх ГБ -- тоже: очень странно, но не
> знаю, чего бы это могло быть. Может, в зале есть "ядерщики"...
> 3x/ Мне было бы интересно услышать, не станет ли внезапно сборка ядра
> (хотя тест так себе...) быстрее на i386 установке ОС (и компиляторе),
> и всё ещё x86_64 ядре под ними (вся память доступна). Я
> так "живу" (...кроме серверов с постгресом, 10Г shared буфера _в_нём_ и
> 128Г физики), но сам не тестировал в сравнении с "прогрессивной" дважды
> жручей архитектурой.

Ответить | Правка | Наверх | Cообщить модератору

4. "Как уменьшит дисковый кэш?"  +1 +/
Сообщение от Doka (??), 25-Дек-16, 21:28 
> У меня 16Gb RAM на домашнем десктопе. Например при сборке ядра Linux
> дисковый кэш вырастает до 10Gb. При этом время сборки ядра вместо
> 1 часа (на 4Gb RAM, kernelcmd: mem=4G ) возрастает до 2
> часов. Хотелось бы иметь всю RAM доступной, но дисковый кэш ограничить
> например 2Gb.
> Гуглил, есть советы но для старых ядер. В Documentation/kernel_parameters.txt ничего не
> нашёл.
> Плиз посоветуйте, как решить эту проблемму?

Может дело не в дисковом кэше.
Что за процессор? Если TLB-кэша на 16Gb начинает не хватать, и могут начаться тормоза...
Если командой time замерить, как будут отличаться user/sys time ?


Ответить | Правка | Наверх | Cообщить модератору

5. "Как уменьшит дисковый кэш?"  +/
Сообщение от Павел Самсоновemail (?), 26-Дек-16, 10:56 
>[оверквотинг удален]
>> дисковый кэш вырастает до 10Gb. При этом время сборки ядра вместо
>> 1 часа (на 4Gb RAM, kernelcmd: mem=4G ) возрастает до 2
>> часов. Хотелось бы иметь всю RAM доступной, но дисковый кэш ограничить
>> например 2Gb.
>> Гуглил, есть советы но для старых ядер. В Documentation/kernel_parameters.txt ничего не
>> нашёл.
>> Плиз посоветуйте, как решить эту проблемму?
> Может дело не в дисковом кэше.
> Что за процессор? Если TLB-кэша на 16Gb начинает не хватать, и могут
> начаться тормоза...

Процессор Athlon X3. Да тут все понятно, кэш очень большой, и поиск инод в 10G списках даже в памяти начинает быть накладным.
> Если командой time замерить, как будут отличаться user/sys time ?

Ответить | Правка | Наверх | Cообщить модератору

6. "Как уменьшит дисковый кэш?"  +/
Сообщение от Аноним (6), 20-Май-20, 10:57 
> У меня 16Gb RAM на домашнем десктопе. Например при сборке ядра Linux
> дисковый кэш вырастает до 10Gb. При этом время сборки ядра вместо
> 1 часа (на 4Gb RAM, kernelcmd: mem=4G ) возрастает до 2
> часов. Хотелось бы иметь всю RAM доступной, но дисковый кэш ограничить
> например 2Gb.
> Гуглил, есть советы но для старых ядер. В Documentation/kernel_parameters.txt ничего не
> нашёл.
> Плиз посоветуйте, как решить эту проблемму?

не надо ничего предпринимать и уменьшать, если почитаешь про память, то это размер высвобождаемого кэша в памяти, короче он ее фактически не занимает вроде бы или тип того. в общем на количество используемой памятки не влияет это никак. при твоих 16Гб забей вообще на все ;)

Ответить | Правка | Наверх | Cообщить модератору

7. "Как уменьшит дисковый кэш?"  +/
Сообщение от Licha Morada (ok), 20-Май-20, 19:01 
> У меня 16Gb RAM на домашнем десктопе. Например при сборке ядра Linux
> дисковый кэш вырастает до 10Gb. При этом время сборки ядра вместо
> 1 часа (на 4Gb RAM, kernelcmd: mem=4G ) возрастает до 2
> часов.

Даже 1 час это ненормально долго. Специально проверил на машине 8-ми летней давности: AMD A8-3870 на 3 (три) ядра, 8 гиг памяти, консумерский SSD, Ubuntu 16.04. 6 минут компилится linux-5.6.13.

Скорее всего, дело не в количестве памяти как таковом, а в чём-то ещё, что триггерится количеством памяти.
Ищите узкое место и анормальное поведение. Начните с top. Прикрутите какую-нибудь базовую мониторилку чтоб историю писала. Смотрите на ошибки в dmesg, при загрузке и когда компилится.
Может быть всё что угодно, от сыплющегося диска до прожорливой мальвари.

> Хотелось бы иметь всю RAM доступной, но дисковый кэш ограничить
> например 2Gb.

В общем случае, RAM занятую кэшем следует считать "доступной".
https://www.linuxatemyram.com/


Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру