Нужен ли Swap? (если на машине много памяти)
Модератор: Bizdelnick
Re: Нужен ли Swap?
igor@igor
А процент использования свопа какой у Вас? Что команда free пишет?
А процент использования свопа какой у Вас? Что команда free пишет?
Re: Нужен ли Swap?
Всем Привет!
я и до 6-ти ГБ нагружал: 3-4-е виртуалки, firefox-esr - 2-3-и, и прикладнуха всякая...
А и BOINC - тоже запущен.
+реальный свап + реальные свап файлы + vram - как на хосте, так и во всех гостевых (кроме vram - железо виртуальное), где только можно...
А так я 3072M + 384M + 512M врубил + BOINC + прикладнуха - результат выше - и - хороший...
Но благодаря схемам всё иначе.
Честно Вам скажу: результат стоит того, чтобы потратить ~100GB на диске...
Код: Выделить всё
free -m
total used free shared buffers cached
Mem: 5982 4848 1134 0 15 777
-/+ buffers/cache: 4054 1927
Swap: 172279 1248 171031
free
total used free shared buffers cached
Mem: 6125844 5192336 933508 0 22828 939636
-/+ buffers/cache: 4229872 1895972
Swap: 176414700 1278064 175136636
Добавлено (21:46):
Выше 2ГБ в свап не ухолило...я и до 6-ти ГБ нагружал: 3-4-е виртуалки, firefox-esr - 2-3-и, и прикладнуха всякая...
Добавлено (21:49):
у меня и в ВМ с unix-подобными ОС схема как на хосте.А и BOINC - тоже запущен.
Добавлено (21:56):
А фишка - zram - жмёт! здорово!+реальный свап + реальные свап файлы + vram - как на хосте, так и во всех гостевых (кроме vram - железо виртуальное), где только можно...
А так я 3072M + 384M + 512M врубил + BOINC + прикладнуха - результат выше - и - хороший...
Добавлено (21:58):
По логике: (3072+384+512)*1.5=5952 - только на гостей.Но благодаря схемам всё иначе.
Добавлено (22:03):
Могу скрипты выложить, если нужно + рецепты по схемам + BIOS + OS.Честно Вам скажу: результат стоит того, чтобы потратить ~100GB на диске...
Добавлено (22:06):
И сейчас я точно не задумываюсь, что где-то что-то упадёт.Re: Нужен ли Swap?
Не понял, зачем 100Гб на диске? У Вас, во-первых, 170, а во вторых, из них минимум 150 лишние :-)
Re: Нужен ли Swap?
ну, считать сложно, но арифметика тут простая: размер swap должен быть сравним с размером RAM. Если его мало то и толку от него тоже мало. Если его много, то при его заполнении железка замедляется слишком.
Re: Нужен ли Swap?
Всем Привет!
Реальный свап: файлы и раздел 80-100 ГБ.
zram+vram=65783 МБ.
Итого свап: 172279 МБ.
Представил: Что будет, если действительно какая-нибудь софтина 65 ГБ свапа займёт?
zram cожмёт до 32-х ГБ. А дальше?
Поэтому я перестраховался и сделал огромный запас свапа, чтобы ничего точно не падало.
Реальный свап: файлы и раздел 80-100 ГБ.
zram+vram=65783 МБ.
Итого свап: 172279 МБ.
Представил: Что будет, если действительно какая-нибудь софтина 65 ГБ свапа займёт?
zram cожмёт до 32-х ГБ. А дальше?
Поэтому я перестраховался и сделал огромный запас свапа, чтобы ничего точно не падало.
Re: Нужен ли Swap?
Всё верно: свап = ram или свап = ram * 2;
Лучше медленно, чем что-то где-то упадёт.
Re: Нужен ли Swap?
Всем Привет!
"Никакие не лишние: всё по Науке сделано!" - Теперь точно по Науке..!
8 ГБ - память чётная (модули)...
5 X'ов;
2-е ВМ (384 MB + 4096 MB) + в них firefox-esr + прикладнуха;
BOINC на Хосте (7-8 проектов) + firefox-esr + прикладнуха...;
...
Всё чётко!
zram+vram=65783 МБ.
Итого свап: 172279 МБ."
Только ОЗУ 8 ГБ - модули чётные: 2+2+2+2.
И: иногда - sudo memtester 1024GB 1024 - Таким образом, искусственным путём жму до ~600-1000 MB.
"Никакие не лишние: всё по Науке сделано!" - Теперь точно по Науке..!
8 ГБ - память чётная (модули)...
Добавлено (21:37):
Код: Выделить всё
free -m
total used free shared buffers cached
Mem: 8002 7706 295 0 45 2207
-/+ buffers/cache: 5453 2549
Swap: 172279 738 171541
Добавлено (21:56):
Запущено:5 X'ов;
2-е ВМ (384 MB + 4096 MB) + в них firefox-esr + прикладнуха;
BOINC на Хосте (7-8 проектов) + firefox-esr + прикладнуха...;
...
Всё чётко!
Добавлено (22:03):
"Реальный свап: файлы и раздел 80-100 ГБ.zram+vram=65783 МБ.
Итого свап: 172279 МБ."
Только ОЗУ 8 ГБ - модули чётные: 2+2+2+2.
И: иногда - sudo memtester 1024GB 1024 - Таким образом, искусственным путём жму до ~600-1000 MB.
Добавлено (22:10):
Ещё трюк с /dev/zero, /dev/urandom, /dev/random, shred, srm делаю - с областями памяти... На скриптах у меня всё - от обычного пользователя.Добавлено (22:34):
Таким образом делаю сверхсжатие памяти...Re: Нужен ли Swap?
Всем Привет!!
=> swap - обязательно!!!
=> swap - обязательно!!!
Re: Нужен ли Swap?
Вопрос - в распоряжении 20 Гб ОЗУ и шустрый SSD. Нужно ли создавать swap в данном случае и где скажется прирост скорости?
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: Нужен ли Swap?
sergeydrn
Нужно. Нигде не скажется.
Нужно. Нигде не скажется.
Re: Нужен ли Swap?
Про какую скорость речь? если вопрос про swap
sergeydrn, а Вы вообще в курсе - для чего нужен swap? судя про упоминание скорости — нет, поэтому сначала хоть немного прочтите материал про swap, а потом продолжим беседу.
Последний раз редактировалось algri14 04.02.2020 22:36, всего редактировалось 1 раз.
Re: Нужен ли Swap?
Всем Привет!
swap структура и остальные скрипты:
swap структура и остальные скрипты:
- Вложения
-
- z_v_o.7z
- (3.03 КБ) 56 скачиваний
Re: Нужен ли Swap?
Мой дистрибутив - Description: Debian GNU/Linux 7.11 (wheezy).
swap структура, скрипты при старте (у меня в каталоге /root, прописал в /etc/rc.local):
swh0.sh
swh1.sh
swh2.sh
vramstart.sh
zramstart.sh
swh0.stop
swh1.stop
swh2.stop
vram.stop
zram.stop
su user с root правами;
sudo ./for_obl_ram_sm.sh:
sudo ./for_obl_ram_sm_big.sh:
su user с root правами;
sudo ./for_obl_ram_ud_big.sh:
sudo ./for_obl_ram_ud.sh:
Остальные скрипты не в рамках темы => в архив z_v_o.7z поместил.
swap структура, скрипты при старте (у меня в каталоге /root, прописал в /etc/rc.local):
swh0.sh
Код: Выделить всё
#!/bin/sh
swapon -p 10 /home/swap66699913352468
Код: Выделить всё
#!/bin/sh
swapon -p 10 /tmp2/swap0000000000000
Код: Выделить всё
#!/bin/sh
swapon -p 10 /dev/nld2/h2_swap00
Код: Выделить всё
#!/bin/bash
modprobe phram phram=VRAM,0xe0800000,248Mi
modprobe mtdblock
mkswap /dev/mtdblock0
swapon /dev/mtdblock0
Код: Выделить всё
#!/bin/bash
modprobe zram
SIZE=65536
echo $(($SIZE*1024*1024)) > /sys/block/zram0/disksize
mkswap /dev/zram0
swapon /dev/zram0 -p 10
Добавлено (22:11):
swap структура, скрипты при остановке системы (нужно поместить в /etc/init.d; runlevel 6 и runlevel 0):swh0.stop
Код: Выделить всё
#!/bin/sh
swapoff /home/swap66699913352468
Код: Выделить всё
#!/bin/sh
swapoff /tmp2/swap0000000000000
Код: Выделить всё
#!/bin/sh
swapoff /dev/nld2/h2_swap00
Код: Выделить всё
#!/bin/bash
swapoff /dev/mtdblock0
modprobe -r mtdblock
modprobe -r phram phram
Код: Выделить всё
#!/bin/bash
swapoff /dev/zram0
modprobe -r zram
Добавлено (22:17):
Включил с помощью rcconf, проверил в sysv-rc-conf.Добавлено (22:20):
/etc/rc.local:Код: Выделить всё
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/root/ddn.sh
/root/ddn3.sh
/root/ddn2.sh
/root/con.sh
/root/swh2.sh
/root/swh1.sh
/root/swh0.sh
/root/vramstart.sh
/root/zramstart.sh
/root/nrc.sh
/root/loop0.sh
/root/loop0.sh
/root/vpn.sh
exit 0
Добавлено (22:33):
sudo swapon -s:Код: Выделить всё
Filename Type Size Used Priority
/dev/mapper/nld2-h2_swap00 partition 18874364 259796 10
/tmp2/swap0000000000000 file 8388604 259400 10
/home/swap66699913352468 file 81788924 259156 10
/dev/mtdblock0 partition 253948 0 -1
/dev/zram0 partition 67108860 258772 10
Добавлено (23:19):
/etc/fstab:Код: Выделить всё
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/nld2-h2_root00 / ext4 errors=remount-ro 0 1
/dev/mapper/nld2-h2_home00 /home ext4 defaults 0 2
/dev/mapper/nld2-h2_opt00 /opt ext4 defaults 0 2
/dev/mapper/nld2-h2_srv00 /srv ext4 defaults 0 2
/dev/mapper/nld2-h2_tmp00 /tmp2 ext4 defaults 0 2
none_nmd000 /tmp tmpfs rw,nosuid,nodev,noexec,relatime,size=512M 0 0
/dev/mapper/nld2-h2_usr00 /usr ext4 defaults 0 2
/dev/mapper/nld2-h2_usrlocal00 /usr/local ext4 defaults 0 2
/dev/mapper/nld2-h2_var00 /var ext4 defaults 0 2
/dev/mapper/h8_home6_00-h8_home6_000 /home2 ext4 defaults 0 2
#/dev/mapper/nld2-h2_swap00 none swap sw 0 0
#/tmp2/swap0000000000000 none swap sw 0 0
#/home/swap66699913352468 none swap sw 0 0
#UUID=xxxxxxxx /boot ext4 defaults 0 2
/home2/debian_iso_dvd_amd32_archive_rep/debian-7.11.0-i386-DVD-1.iso /media/r32_0 iso9660 loop 0 0
/home2/debian_iso_dvd_amd32_archive_rep/debian-7.11.0-i386-DVD-2.iso /media/r32_1 iso9660 loop 0 0
/home2/debian_iso_dvd_amd32_archive_rep/debian-7.11.0-i386-DVD-3.iso /media/r32_2 iso9660 loop 0 0
/home2/debian_iso_dvd_amd32_archive_rep/debian-update-7.11.0-i386-DVD-1.iso /media/r32_3 iso9660 loop 0 0
/home2/debian_iso_dvd_amd32_archive_rep/debian-update-7.11.0-i386-DVD-2.iso /media/r32_4 iso9660 loop 0 0
/home2/debian_iso_dvd_amd32_archive_rep/debian-update-7.11.0-i386-DVD-3.iso /media/r32_5 iso9660 loop 0 0
/home2/debian_iso_dvd_amd64_archive_rep/debian-7.11.0-amd64-DVD-1.iso /media/r64_0 iso9660 loop 0 0
/home2/debian_iso_dvd_amd64_archive_rep/debian-7.11.0-amd64-DVD-2.iso /media/r64_1 iso9660 loop 0 0
/home2/debian_iso_dvd_amd64_archive_rep/debian-7.11.0-amd64-DVD-3.iso /media/r64_2 iso9660 loop 0 0
/home2/debian_iso_dvd_amd64_archive_rep/debian-update-7.11.0-amd64-DVD-1.iso /media/r64_3 iso9660 loop 0 0
/home2/debian_iso_dvd_amd64_archive_rep/debian-update-7.11.0-amd64-DVD-2.iso /media/r64_4 iso9660 loop 0 0
/home2/debian_iso_dvd_amd64_archive_rep/debian-update-7.11.0-amd64-DVD-3.iso /media/r64_5 iso9660 loop 0 0
Добавлено (23:22):
mount:Код: Выделить всё
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1021500,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=819432k,mode=755)
/dev/mapper/nld2-h2_root00 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1638860k)
/dev/mapper/nld2-h2_home00 on /home type ext4 (rw,relatime,data=ordered)
/dev/mapper/nld2-h2_opt00 on /opt type ext4 (rw,relatime,data=ordered)
/dev/mapper/nld2-h2_srv00 on /srv type ext4 (rw,relatime,data=ordered)
/dev/mapper/nld2-h2_tmp00 on /tmp2 type ext4 (rw,relatime,data=ordered)
none_nmd000 on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime,size=524288k)
/dev/mapper/nld2-h2_usr00 on /usr type ext4 (rw,relatime,data=ordered)
/dev/mapper/nld2-h2_usrlocal00 on /usr/local type ext4 (rw,relatime,data=ordered)
/dev/mapper/nld2-h2_var00 on /var type ext4 (rw,relatime,data=ordered)
/dev/mapper/h8_home6_00-h8_home6_000 on /home2 type ext4 (rw,relatime,data=ordered)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
/home2/debian_iso_dvd_amd32_archive_rep/debian-7.11.0-i386-DVD-1.iso on /media/r32_0 type iso9660 (ro,relatime)
/home2/debian_iso_dvd_amd32_archive_rep/debian-7.11.0-i386-DVD-2.iso on /media/r32_1 type iso9660 (ro,relatime)
/home2/debian_iso_dvd_amd32_archive_rep/debian-7.11.0-i386-DVD-3.iso on /media/r32_2 type iso9660 (ro,relatime)
/home2/debian_iso_dvd_amd32_archive_rep/debian-update-7.11.0-i386-DVD-1.iso on /media/r32_3 type iso9660 (ro,relatime)
/home2/debian_iso_dvd_amd32_archive_rep/debian-update-7.11.0-i386-DVD-2.iso on /media/r32_4 type iso9660 (ro,relatime)
/home2/debian_iso_dvd_amd32_archive_rep/debian-update-7.11.0-i386-DVD-3.iso on /media/r32_5 type iso9660 (ro,relatime)
/home2/debian_iso_dvd_amd64_archive_rep/debian-7.11.0-amd64-DVD-1.iso on /media/r64_0 type iso9660 (ro,relatime)
/home2/debian_iso_dvd_amd64_archive_rep/debian-7.11.0-amd64-DVD-2.iso on /media/r64_1 type iso9660 (ro,relatime)
/home2/debian_iso_dvd_amd64_archive_rep/debian-7.11.0-amd64-DVD-3.iso on /media/r64_2 type iso9660 (ro,relatime)
/home2/debian_iso_dvd_amd64_archive_rep/debian-update-7.11.0-amd64-DVD-1.iso on /media/r64_3 type iso9660 (ro,relatime)
/home2/debian_iso_dvd_amd64_archive_rep/debian-update-7.11.0-amd64-DVD-2.iso on /media/r64_4 type iso9660 (ro,relatime)
/home2/debian_iso_dvd_amd64_archive_rep/debian-update-7.11.0-amd64-DVD-3.iso on /media/r64_5 type iso9660 (ro,relatime)
none_tmp on /tmp/tmp type tmpfs (rw,relatime)
none_tmp8 on /tmp/tmp8 type tmpfs (rw,relatime)
none_0 on /tmp/tmp0 type tmpfs (rw,relatime)
none_1 on /tmp/tmp1 type tmpfs (rw,relatime)
none_2 on /tmp/tmp2 type tmpfs (rw,relatime)
none_3 on /tmp/tmp3 type tmpfs (rw,relatime)
none_4 on /tmp/tmp4 type tmpfs (rw,relatime)
none_5 on /tmp/tmp5 type tmpfs (rw,relatime)
none_6 on /tmp/tmp6 type tmpfs (rw,relatime)
none_7 on /tmp/tmp7 type tmpfs (rw,relatime)
none_88 on /tmp/tmp88 type tmpfs (rw,relatime)
none_9 on /tmp/tmp9 type tmpfs (rw,relatime)
none_10 on /tmp/tmp10 type tmpfs (rw,relatime)
none69 on /tmp/tmp69 type tmpfs (rw,relatime,size=167736320k)
Добавлено (23:37):
/tmp в ОЗУ; создание областей памяти:su user с root правами;
sudo ./for_obl_ram_sm.sh:
Код: Выделить всё
#!/bin/sh
cd /tmp/
sudo mkdir tmp && sudo mount -t tmpfs none_tmp /tmp/tmp/
sudo mkdir tmp8 && sudo mount -t tmpfs none_tmp8 /tmp/tmp8/
sudo mkdir tmp0 && sudo mount -t tmpfs none_0 /tmp/tmp0/
sudo mkdir tmp1 && sudo mount -t tmpfs none_1 /tmp/tmp1/
sudo mkdir tmp2 && sudo mount -t tmpfs none_2 /tmp/tmp2/
sudo mkdir tmp3 && sudo mount -t tmpfs none_3 /tmp/tmp3/
sudo mkdir tmp4 && sudo mount -t tmpfs none_4 /tmp/tmp4/
sudo mkdir tmp5 && sudo mount -t tmpfs none_5 /tmp/tmp5/
sudo mkdir tmp6 && sudo mount -t tmpfs none_6 /tmp/tmp6/
sudo mkdir tmp7 && sudo mount -t tmpfs none_7 /tmp/tmp7/
sudo mkdir tmp88 && sudo mount -t tmpfs none_88 /tmp/tmp88/
sudo mkdir tmp9 && sudo mount -t tmpfs none_9 /tmp/tmp9/
sudo mkdir tmp10 && sudo mount -t tmpfs none_10 /tmp/tmp10/
ls -la /tmp/ && mount && df -h && free -m
Код: Выделить всё
#!/bin/sh
cd /tmp/
sudo mkdir tmp69 && sudo mount -t tmpfs -o size=163805M none69 /tmp/tmp69/
ls -la /tmp/ && mount && df -h && free -m
Добавлено (23:43):
/tmp в ОЗУ; удаление областей памяти:su user с root правами;
sudo ./for_obl_ram_ud_big.sh:
Код: Выделить всё
#!/bin/sh
cd /tmp/
sudo umount none69 && rm -rf /tmp/tmp69/
ls -la /tmp/ && mount && df -h && free -m
Код: Выделить всё
#!/bin/sh
cd /tmp/
sudo umount none_tmp && rm -rf /tmp/tmp/
sudo umount none_tmp8 && rm -rf /tmp/tmp8/
sudo umount none_0 && rm -rf /tmp/tmp0/
sudo umount none_1 && rm -rf /tmp/tmp1/
sudo umount none_2 && rm -rf /tmp/tmp2/
sudo umount none_3 && rm -rf /tmp/tmp3/
sudo umount none_4 && rm -rf /tmp/tmp4/
sudo umount none_5 && rm -rf /tmp/tmp5/
sudo umount none_6 && rm -rf /tmp/tmp6/
sudo umount none_7 && rm -rf /tmp/tmp7/
sudo umount none_88 && rm -rf /tmp/tmp88/
sudo umount none_9 && rm -rf /tmp/tmp9/
sudo umount none_10 && rm -rf /tmp/tmp10/
ls -la /tmp/ && mount && df -h && free -m
Добавлено (23:55):
{Шифрование (cryptsetup) - всего диска + LVM + /boot - отдельно на флешке}.Остальные скрипты не в рамках темы => в архив z_v_o.7z поместил.
Добавлено (00:03):
Все тесты памяти предоставил. Такая схема для сверхсжатия памяти - отличная!, правда затратная по объёму на диске.Re: Нужен ли Swap?
Всем Привет!
Надеюсь, очень, схема кому-нибудь пригодится.
Хоть и старый старый дистрибутив, но принципы можно применить и в более новых.
=> Нужно протестировать.
Надеюсь, очень, схема кому-нибудь пригодится.
Хоть и старый старый дистрибутив, но принципы можно применить и в более новых.
=> Нужно протестировать.