LINUX.ORG.RU
ФорумAdmin

swap на tmpfs


0

1

доброго! не могу реализовать swap на tmpfs файловой системе. запросто получилось активировать swap-файлы в ramfs (ramdisk), а вот здесь никак. и в документации не могу найти зерно истины. кто-нибудь делал так, возможно ли это?

★★★

Можно поинтересоваться, зачем это нужно?)

А вобще в dmesg написана причина: swapon: swapfile has holes

Nao ★★★★★
()
Ответ на: комментарий от Eddy_Em

compchache тоже бред по-вашему?

так можно ли это реализовать или нет? если сами не знаете, нечего утруждать себя писаниной.

sprutos ★★★
() автор топика
Ответ на: комментарий от Nao

>Можно поинтересоваться, зачем это нужно?)



А вобще в dmesg написана причина: swapon: swapfile has holes



нужно для сравнения производительности с использованием swap, tmpfs, ramfs, compcache.
да, swapfile has holes


вот подробности

root@universe:~# mount -t tmpfs tmpfs -o size=50M /dev/shm
root@universe:~# dd if=/dev/zero of=/dev/shm/sw bs=1024 count=50000
50000+0 records in
50000+0 records out
51200000 bytes (51 MB) copied, 1.01883 s, 50.3 MB/s
root@universe:~# mkswap /dev/shm/sw
Setting up swapspace version 1, size = 49996 KiB
no label, UUID=3184d22b-1fe5-4df6-9dde-450e057e4344
root@universe:~# swapon /dev/shm/sw
swapon: /dev/shm/sw: Invalid argument

sprutos ★★★
() автор топика

Насколько я знаю, ядро работает со своп-файлом не через VFS, а как-то напрямую или что-то в этом роде.

Nao ★★★★★
()
Ответ на: комментарий от anonymous

>А где

mount -t swap /dev/shm/sw swap


?
это еще что? можно подробней, никогда не встречал такое.

void@universe:~$ sudo mount -t swap /dev/shm/sw swap
mount: mount point swap does not exist

sprutos ★★★
() автор топика
Ответ на: комментарий от anonymous

> mount -t swap /dev/shm/sw swap

это не нужно, достаточно swapon

isden ★★★★★
()
Ответ на: комментарий от sprutos

> compchache тоже бред по-вашему?

да

так можно ли это реализовать или нет?


нет, разве что пропатчить ядро (mm/swapfile.c) но думаю что хрен у тебя что выйдет

anonymous
()
Ответ на: комментарий от anonymous

>это не нужно, достаточно swapon

не получается

compchache тоже бред по-вашему?


да


гип-гип-ура! :мужики то и не знают, а производительность растёт


нет, разве что пропатчить ядро (mm/swapfile.c) но думаю что хрен у тебя что выйдет


это верно, уже по-другому сделал. и завесил машину, мда )))

sprutos ★★★
() автор топика
Ответ на: комментарий от anonymous

> mount -t swap /dev/shm/sw swap
Анонимус, что за бред ты несёшь?

Nao ★★★★★
()
Ответ на: комментарий от sprutos

> гип-гип-ура! :мужики то и не знают, а производительность растёт

да ну? ))))

anonymous
()
Ответ на: комментарий от iZEN

>Это же бред.

абсолютно согласен. Зачем своп в оперативке? Давайте ядро нагрузим N-ым количеством системных вызовов вместо просто отключения swap-файла.
Бред.

gserg ★★
()

а зачем свапиться на tmpfs ?
оно итак доступно как память, если нужно создать номинальный свап , чтобы был, то смотрите в сторону compcache или в файл свап сделайте на несколько мегабайт ( для «чтобы был» вполне хватит )

Sylvia ★★★★★
()
Ответ на: комментарий от sprutos

compchache тоже бред по-вашему?

Бред. Пусть лучше у меня будет 512Мб реальной оперативки, чем 1Гб виртуальной, работающей с дикими тормозами :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

compcache не тормозит особенно, оно свапит в память быстрее чем на диск,
даже на относительно слабом процессоре

Sylvia ★★★★★
()
Ответ на: комментарий от power

> Это не бред. На ЛОРе новость была на эту тему.

Да-да, была.
У нас один «деятель» начитался подобных тем и прикрутил эту хренотень на хост с двумя десятками VS-ов, с понтом чтоб потестить как оно нам оперативы сэкономит. Мало того что саппорт всю ночь охреневший был (не знал что делать с тормозящими и отваливающимися fcgi-процессами), так оно еще и вовсе грохнулось к утру, а подымается-то сравнительно не быстро...

anonymous
()
Ответ на: комментарий от anonymous

>на хост с двумя десятками VS-ов

чтоб потестить

ССЗБ

power
()
Ответ на: комментарий от Sylvia

Вместо чтобы отдать приложению ОЗУ в чистом виде, люди пытаются отдать тоже самое ОЗУ через менеджер памяти и драйвер RAM-диска :) Это просто трата процессорного времени, никакого выигрыша. В отличии от Венды, Линукс не требует наличия свопа для своей успешной работы. Если ОЗУ не хватает и нет свопа - Линукс обычно просто отстреливает процесс. Помогает такая вещь как monit, которая запустит процесс на место.

Solaris10
()
Ответ на: комментарий от anonymous

>У нас один «деятель» начитался подобных тем и прикрутил эту хренотень >на хост с двумя десятками VS-ов, с понтом чтоб потестить как оно нам >оперативы сэкономит. Мало того что саппорт всю ночь охреневший был >>(не знал что делать с тормозящими и отваливающимися fcgi-процессами), >так оно еще и вовсе грохнулось к утру, а подымается-то сравнительно >не быстро...

дык, нужно было обычный своп оставлять на пожарный. если уж так руки чесались проверить...
своп нужен, если задачам требуется больше памяти, чем оперативной, а добавить ее низзя. когда tmpfs переполняется. для hibernate удобно использовать. etc

ИТОГ
оставил обычный swap-раздел в начале диска (проверял, там скорость I/O выше), сделал echo 50 > /proc/sys/vm/swappiness.

ps. реальный пример померить скорость и посмотреть, зачем своп вообще нужен, таков:
sync && dd if=/dev/zero of=/dev/null bs=<размер_вашей_ОЗУ_Мб>M count=1

sprutos ★★★
() автор топика
Ответ на: комментарий от sprutos

на tmpfs напрямую нельзя создать своп-файл. я сделал сначала ext2 в файле, примаунтил, потом уже на той ФС активировал файл для свопа. система долго не выдержала...

sprutos ★★★
() автор топика
Ответ на: комментарий от Sylvia

>в случае compcache - добавить еще lzop нужно в pipe

)


compcache штука интересная. нужно рассчитывать, как ей пользоваться.

имеется
- 2Гб ОЗУ;
- а требуется 2.5Гб (добавить низзя, ноут);
- уровень сжатия ~2 (примем на веру)

сколько выделить под ramzswap0? 512Мб. что пулучим? 2048 - 512 + (512 * 2) = 2560 :ну, это приблизительно. озу точно будет не 2048 ;)

sprutos ★★★
() автор топика
Ответ на: комментарий от sprutos

ОЗУ будет столько сколько установлено, минус сьеденное пространство для свапа, не нужно считать свап равноценным ОЗУ, даже если он расположен на быстром устройстве, в случае compcache тут еще и сжатие, и как будет себя вести vmalloc аллокатор встроенный в compcache тоже еще нужно просчитывать, вообщем я к тому что более скептически относиться, и уж не в коем случае не утверждать что compcache добавляет RAM...

Sylvia ★★★★★
()
Ответ на: комментарий от sprutos

так более справедливо ) хотя в случае недоступности диска это наилучший вариант, для embedded устройств, для инсталляторов ОС

и все же, какой был смысл в использовании swap на tmpfs ?

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

>и все же, какой был смысл в использовании swap на tmpfs ?

экспереМентальный интерес .

sprutos ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.