Автор Тема: Как в Альте правильно создать swap ?  (Прочитано 109080 раз)

Оффлайн S3R_sqrT

  • Завсегдатай
  • *
  • Сообщений: 323
Re: Как в Альте правильно создать swap ?
« Ответ #30 : 29.06.2018 02:50:31 »
сейчас стоит свап на 4Гб. Но вот проблема. Он не автоосвобождается!!! он просто переодически заполняется и таким остается даже когда память свободна и все закрыто.
Как исправить, что не так?


Еще хуже, когда все заполнено и открывается программа - тогда все! капец! диск интнсивно работает, все ресурсы берет все блокируется тормозами... так можно часы ждать. => т.е. жесткая перезагрузка ноута((

( +чуть быстровато все туда попадает, когда чуть RAM еще есть свободно... но это терпимо )
« Последнее редактирование: 29.06.2018 02:53:09 от S3R_sqrT »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #31 : 29.06.2018 12:36:49 »
сейчас стоит свап на 4Гб. Но вот проблема. Он не автоосвобождается!!! он просто переодически заполняется и таким остается даже когда память свободна и все закрыто.
Как исправить, что не так?


Вполне доходчиво про swappiness написано здесь:
Настройка Swappiness и кеширования в Linux

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #32 : 29.06.2018 13:18:57 »

Еще хуже, когда все заполнено и открывается программа
- тогда все! капец! диск интнсивно работает, все ресурсы берет все блокируется тормозами... так можно часы ждать. => т.е. жесткая перезагрузка ноута((

Если вы начнёте использовать Linux вместо Windows, никакого волшебства не произойдёт, - Linux подчиняется тем же законам, как и все остальные операционные системы.

Из года в год, код в Linux тяжелеет точно так же как и в Windows:
- Пятнадцать лет назад, ALT Linux с KDE требовался объём памяти от 64 Mb и выше. Сегодня, минимальный объём памяти для комфортной работы, - от 2 Gb и выше. Помните заставку на инсталляции Windows 9x?, - ваша Windows станет ещё надёжнее, ещё быстрее. Но всегда скромно умалчивается, что для этого "быстрее" нужно увеличить объём памяти вдвое-втрое. Иначе система полезет в жестокий своп и единственный выход будет, это хардресет.  Для нормальной работы компьюьера вы вынуждены нарастить объём физической памяти.

Для минимальной затраты денег на апгрейд, смотрите на крупные торговые площадки. Например на aliexpress(dot)com. У многих поставщиков мелких комплектующих, доставка бесплатная. В этом случае смотрите также на статус-рейтинг продавца и на отзывы.
Из практики:
Если продавец с высоким статусом заявил, что винчестер новый, по smart-параметрам он оказался абсолютно новым, безбэдовым и без релоцированных секторов. На местных барахолках, то же самое может обойтись в весьма круглую сумму. Если продавец с высоким статусом заявляет что эти комплектующие брэнд, значит dmidecode подтвердит и потом, что это брэнд за небольшую сумму, а не левак.

Если и такой апгрейд не планируется или невозможен, отказывайтесь от тяжёлых приложений и оптимизируйте систему, чтобы снизить объём потребляемой памяти, - всё точно так же как и в Windows. Действия разные, но смысл и принцип один и тот же.

Хотите увидеть что такое оптимизация кода? Зайдите на scene.org и посмотрите пару-тройку презентаций демо.
Была даже написана игра в 3D на пару-тройку уровней и весила она не более 100 килобайт. Называется она .kkrieger. На сайт компании, откуда можно было скачать игрушку, заходить сегодня бесполезно: какая-то сволочь купила это доменное имя под рекламу своего торгового дома для ещё бОльшего баблорубинга, поскольку это доменное имя было довольно популярно среди ценителей быстрого и компактного кода.
Но раньше, легально скачать её можно было по этой ссылке:
http://www.theprodukkt.com/files/kkrieger-beta.zip
Но не заходите по этой ссылке: вас отредиректит на страницу ещё одной шараги любителей большого и быстрого бабла.
« Последнее редактирование: 29.06.2018 13:53:34 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #33 : 29.06.2018 14:18:04 »

Еще хуже, когда все заполнено и открывается программа
- тогда все! капец! диск интнсивно работает, все ресурсы берет все блокируется тормозами... так можно часы ждать. => т.е. жесткая перезагрузка ноута((

Если и такой апгрейд не планируется или невозможен, отказывайтесь от тяжёлых приложений и оптимизируйте систему, чтобы снизить объём потребляемой памяти, - всё точно так же как и в Windows. Действия разные, но смысл и принцип один и тот же.

 - Выключайте все ненужные сервисы.
 - Откажитесь от загрузки аплетов которые потребляют много памяти и не нужны вам.
 - Запретите ненужные задачи работающие в фоне.
 - Откажитесь от проприетерных видеодрайверов, - их качество и производительность на уровне, но они потребляют много памяти.
 - Часть функционала, насколько это возможно, используйте через терминал.
 - Замените тяжёлые приложения на более лёгкие.
 - Используйте браузеры которые умеют открывать вкладки только по запросу, - при некотором количестве открытых вкладок, это сэкономит память.
- Откажитесь от обоины (она тоже потребляет память) и используйте заливку цветом.
- Если аппаратно это возможно, перенесите своп на другой быстрый винчестер: своппинг будет работать быстрее параллельно в два канала, но это может нагрузить подсистему ввода-вывода.
« Последнее редактирование: 29.06.2018 15:00:57 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #34 : 29.06.2018 14:41:38 »
сейчас стоит свап на 4Гб. Но вот проблема. Он не автоосвобождается!!! он просто переодически заполняется и таким остается даже когда память свободна и все закрыто.
Как исправить, что не так?


Выключайте и включайте swap, это освободит swap:
$ free -m
             total       used       free     shared    buffers     cached
Mem:          2464       2345        119          0          3        321
-/+ buffers/cache:       2020        443
Swap:        10607        141      10465
$ su -
Password:
# swapon -s
Имя файла                               Тип             Размер  Исп-но  Приоритет
/dev/sda10                              partition       10862204        140836  -1
# swapoff -a
# swapon -a
# swapon -s
Имя файла                               Тип             Размер  Исп-но  Приоритет
/dev/sda10                              partition       10862204        0       -1
$ free -m
             total       used       free     shared    buffers     cached
Mem:          2464       2345        118          0         13        263
-/+ buffers/cache:       2068        396
Swap:        10607          0      10607

Можете дропнуть кеш, это тоже освободит немного памяти:
# sync && echo 3 > /proc/sys/vm/drop_caches
$ free -m
             total       used       free     shared    buffers     cached
Mem:          2464       2137        327          0          6        210
-/+ buffers/cache:       1920        544
Swap:        10607          5      10601

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #35 : 29.06.2018 16:37:35 »
сейчас стоит свап на 4Гб.

Но не забывайте о своей ошибке в первом сообщении темы:
К примеру, http://onformix.blogspot.ru/2015/07/swap-linux.html - там используется swapon, чего а Альте нет. Где-то есть хорошая инструкция для этого?
(комп - celeron+1GbRAM, АльтР5)

Ссылку вы указали на статью пользователя Ubuntu/Mint.
В ALT Linux команда su выполненная без опции и параметра не меняет переменные окружения пользователя.
См. в документации Linux, *BSD, Windows, *-DOS описание переменной PATH.
Также см. https://www.altlinux.org/Su
Также см. man su на русском.

При выполнении команды su без опции, результат в Ubuntu и ALT Linux будет разным.
И команды swapon не быть не может:
$ ls -l /sbin/swap{on,off}
-rwxr-xr-x 1 root root 18052 мар 26 18:05 /sbin/swapoff
-rwxr-xr-x 1 root root 46964 мар 26 18:05 /sbin/swapon
$ rpm -qf $(ls -1 /sbin/swap{on,off})
mount-2.30.2-alt0.M80P.1
mount-2.30.2-alt0.M80P.1

При su без опции, в ALT Linux вы только получаете права root, но не все его переменные окружения. И вы всё ещё остаётесь собой (см. вывод этой команды после получения прав root через "su без минуса"):
# echo -e "$USER\n$PATH\n$UID"
и см. полный путь к исполняемому файлу swapon.

См. вывод команды env без опций и параметров у непривилегировнного пользователя и у root.
« Последнее редактирование: 29.06.2018 17:34:20 от Speccyfighter »

Оффлайн Kalt

  • Завсегдатай
  • *
  • Сообщений: 996
Re: Как в Альте правильно создать swap ?
« Ответ #36 : 30.06.2018 16:44:16 »
...Делаю swapfile так:
Создание файла нужного размера,
# dd if=/dev/zero of=/swapfile bs=1M count=1024
Команда dd для задания размеров дает возможность использовать суффиксы K, M, G для килобайт, мегабайт и гигабайт соответственно. В данном примере это 1024 Mбайт swapfile.
Дальше, нужно показать системе на этот самый файл,
# mkswap /swapfile
 Включить подкачку,
# swapon /swapfile
Swapfile запускается при входе в систему,
# echo /swapfile none swap sw 0 0 >> /etc/fstab
Команда
 # swapon -s
Показывает, скольким swap-пространством обладает система.
В сущности, вывод этой команды будет аналогичен другой,
# cat /proc/swaps
Создать этот самый файл можно на любом разделе и диске.
...Где то на форуме это было найдено, пользуюсь, проще чем создавать отдельный раздел...
« Последнее редактирование: 30.06.2018 17:07:37 от Kalt »
Intel Xeon X3440 2,53GHz, MSI H55- G43, DDR3- 4x2GB, GF GT710

Оффлайн andrew_b

  • Завсегдатай
  • *
  • Сообщений: 534
Re: Как в Альте правильно создать swap ?
« Ответ #37 : 01.07.2018 09:27:51 »
...Где то на форуме это было найдено, пользуюсь, проще чем создавать отдельный раздел...
Доступ к файлу подкачки происходит через файловую систему, на которой он расположен. Это несколько медленнее, чем доступ к разделу подкачки без ФС.

Оффлайн Kalt

  • Завсегдатай
  • *
  • Сообщений: 996
Re: Как в Альте правильно создать swap ?
« Ответ #38 : 01.07.2018 10:20:09 »
Доступ к файлу подкачки происходит через файловую систему, на которой он расположен. Это несколько медленнее, чем доступ к разделу подкачки без ФС.
...И насколько это время критично для работы ОС?  Кстати, где то попадалось, как заставить swapfile работать только с системой, но вроде не здесь...
Intel Xeon X3440 2,53GHz, MSI H55- G43, DDR3- 4x2GB, GF GT710

Оффлайн S3R_sqrT

  • Завсегдатай
  • *
  • Сообщений: 323
Re: Как в Альте правильно создать swap ?
« Ответ #39 : 20.07.2018 22:27:29 »
для реальной работы (программирование+...) альт просто не годится. 8Гиг - не так мало, вин8 более чем хватает.
А здесь только свап заполнен, сбросить - никак! приходиться выход с системы лелат (перелогин).
sync && echo 3 > /proc/sys/vm/drop_caches помогает совсем немного и не всегда. swapoff -a не хочет работать.

Для производительной работы свап обязан авто увеличиваться до заданных пределов и сам уменьшаться до заданных минимумов и САМ чиститься!

похоже, сделать это не легко и очень удивлен этого нет по-умолчанию.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: Как в Альте правильно создать swap ?
« Ответ #40 : 22.07.2018 11:01:08 »
Рали чего чистить подкачку и терять время на дополнительное кэширование?
Андрей Черепанов (cas@)

Оффлайн oz

  • Начинающий
  • *
  • Сообщений: 32
Re: Как в Альте правильно создать swap ?
« Ответ #41 : 22.07.2018 17:10:11 »
для реальной работы (программирование+...) альт просто не годится. 8Гиг - не так мало, вин8 более чем хватает.
А здесь только свап заполнен,
Чем это у вас при 8G RAM заполнен своп?
Что выводит free && ps aux | sort -k6,6 -g -r?
Спойлер
Цитировать
сбросить - никак! приходиться выход с системы лелат (перелогин).
sync && echo 3 > /proc/sys/vm/drop_caches помогает совсем немного и не всегда. swapoff -a не хочет работать.
Для производительной работы свап обязан авто увеличиваться до заданных пределов и сам уменьшаться до заданных минимумов и САМ чиститься!
похоже, сделать это не легко и очень удивлен этого нет по-умолчанию.
У вас пробелы.

Оффлайн S3R_sqrT

  • Завсегдатай
  • *
  • Сообщений: 323
Re: Как в Альте правильно создать swap ?
« Ответ #42 : 10.09.2018 23:28:55 »
для реальной работы (программирование+...) альт просто не годится. 8Гиг - не так мало, вин8 более чем хватает.
А здесь только свап заполнен,
Чем это у вас при 8G RAM заполнен своп?
Что выводит free && ps aux | sort -k6,6 -g -r?
Спойлер
Цитировать
сбросить - никак! приходиться выход с системы лелат (перелогин).
sync && echo 3 > /proc/sys/vm/drop_caches помогает совсем немного и не всегда. swapoff -a не хочет работать.
Для производительной работы свап обязан авто увеличиваться до заданных пределов и сам уменьшаться до заданных минимумов и САМ чиститься!
похоже, сделать это не легко и очень удивлен этого нет по-умолчанию.
У вас пробелы.
https://yadi.sk/d/H_1bytylyq30jA
Когда закрываю все, что занимает память, подкачка не освобождается.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #43 : 11.09.2018 09:46:15 »
для реальной работы (программирование+...) альт просто не годится. 8Гиг - не так мало, вин8 более чем хватает.
А здесь только свап заполнен,
Чем это у вас при 8G RAM заполнен своп?
Что выводит free && ps aux | sort -k6,6 -g -r?
Спойлер
Цитировать
сбросить - никак! приходиться выход с системы лелат (перелогин).
sync && echo 3 > /proc/sys/vm/drop_caches помогает совсем немного и не всегда. swapoff -a не хочет работать.
Для производительной работы свап обязан авто увеличиваться до заданных пределов и сам уменьшаться до заданных минимумов и САМ чиститься!
похоже, сделать это не легко и очень удивлен этого нет по-умолчанию.
У вас пробелы.
https://yadi.sk/d/H_1bytylyq30jA
Когда закрываю все, что занимает память, подкачка не освобождается.

Угу:
# swapoff -a && swapon -a

Можете засунуть это в скрипт и сделать на него alias swapfree
« Последнее редактирование: 11.09.2018 09:49:45 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как в Альте правильно создать swap ?
« Ответ #44 : 11.09.2018 11:04:23 »
Для производительной работы свап обязан авто увеличиваться до заданных пределов и сам уменьшаться до заданных минимумов

Не обязан. в Unix-подобных, swap, это не файл.

swapoff -a не хочет работать.

Как это не хочет? Шо, сыстемдец не даёт?! Ну тогда привет ему от Unix System V init.

похоже, сделать это не легко

Ну вообще-то относительно легко:
Проверять через cron: если SwapCached меньше половины MemFree, то переместить своп в память.