| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > *NIX системы: Общие вопросы > Linux |
| Автор: GrayCardinal 18.7.2006, 18:21 |
| Так вот. Есть такая шняга, называется системный кэш. Это когда что-то с носителя читается и хранится в памяти ядра "до востребовния". В top'е оно отображается : 127096k cached Вещь хорошая, и довольно юзабельная. Но только в 64 битной линухе. Тама можно юзать posix_fadvise и ноупроблем. Однако ставить 64 битную и тем паче работать в ней оч. не хочется, ибо косячная дико (ИМХО). Дык вот. Суть проблемы - может кто натыкался (случайно или специально) на соответствующие патчи ? Короче, мне надо чтоб я мог подгрузить сырцы линухи и потом_выгрузить_ ИБО, ибо триста метров памяти совсем не лишние Самому патчить влом ;) |
| Автор: GrayCardinal 18.7.2006, 19:19 | ||||
Ниче подобного. Под i386 она вот так :
И поступает А под 64-битную я $ cd /usr/src/linux-2.6.16 $ sb --cfiles $ sb -L ./cfiles --cache-load Все. В кэше у меня сырцы линухи. Можно спокойно работать и винт не дергается Скорость работы боба после этого увеличивается на порядок (тестено на сто раз уже). Потом выгрузить $ sb -L ./cfiles --cache-free Память освободилась |
| Автор: GrayCardinal 18.7.2006, 19:36 |
| А про readahead вообще отдельная история С 2.6.8 по 2.6.15 работает отлично, а с 2.6.16 на readahead - вообще ноль эмоций. А в 2.4 так вообще нет |
| Автор: Sardar 18.7.2006, 19:46 |
| Так можно же рамдиск запустить, тот же эффект. Сижу под Gentoo, сейчас хочу для некоторых билдов sandbox в рамдиске создавать, т.к. компилер эти файлы часто дёргает. Идея уже реализована http://wiki.kaspersandberg.com/doku.php?id=projects:emerge-wrapper. |
| Автор: GrayCardinal 18.7.2006, 20:01 |
| Как-то в далеком детстве пробовал собирать линуху с tmpfs - результат... ДОЛЬШЕ. Серьезно, с грамотными тестами, с несколькими вариантами, по нескольку раз... Все равно дольше. А рам _диск_ это просто отобрать у системы память... И все равно она будет читать в _кэш_. Т.е. в два раза больше памяти будет хавать Не, можно конечно попробовать... как тамест его включать ? Добавлено @ 20:02 Ща на LKML траблу запостю |
| Автор: Sardar 18.7.2006, 20:10 |
Наврядли система такой быстрый девайс кешировать должна, не совсем же нубы ядро пишут. Рамдиск в ядре включаеться, make menuconfig, в файловых системах по моему. Кстати я помню ты блочный девайс писал, опыт есть Шучу конечно, но интересно сколько бы потребвалось времени на такую вешь. |
| Автор: GrayCardinal 18.7.2006, 20:38 |
| Sardar, Да думал я на эту тему. Дело нехитрое, но если рэйзера4 еще и поставить на это "чудо" то вообще пипец будет. И так еле дышет (рэйзер4) Насчет дубов. Так на самой tmpfs как сейчас помню написано что она Very simple, не настоящая а только шаблон, и т.д. и т.п. Или они ее уже доделали ? Короче, разобрался. Суть "фишки". В лине нет fadvise. А есть только fadvise64. Однако он работает и под 32-битной. А в glibc-2.3.6 (включительно !) posix_fadvise сделана через известное место и данный факт не учитывает. Да и мой syscall был написан тоже через тоже место |