Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: loxs в Feb 20, 2006, 11:44



Титла: Може ли да се "опразни" swap-а?
Публикувано от: loxs в Feb 20, 2006, 11:44
Здравейте, не намерих нищо с търсачката за проблема си, а не знам как точно да го формулирам за да търся в чичо Гугъл.
Проблемът ми е следният:
Слак 10.2, 256 РАМ, 512 суап
Чета едни огромни медицински .pdf-и. Като казвам "огромни", имам предвид файлове с размери по 100-200 мегабайта (че и повече).
Знам, че машинката ми е слабичка, но тя някак си се оправя с четенето на един файл. Проблемът идва след като затворя първия и отворя накой друг (не отварям два едновременно, защото се пълнят рам+суап :)).
След като съм затворил първия, суапа още си е наполовина пълен от него и втория го донапълва.
Въпросът ми е дали може след като затворя първия файл, с някаква команда да си "опразня" суапа, така, че той да е празен като отворя втория файл.
Знам, че ще ме посъветвате да си угплемя суап-а. И това ще стане, но точно в момента нямам възможност да го направя...


Титла: Може ли да се "опразни" swap-а?
Публикувано от: melwin в Feb 20, 2006, 15:01
swapoff -a
swapon -a


Титла: Може ли да се "опразни" swap-а?
Публикувано от: loxs в Feb 20, 2006, 15:21
Хмм, тази процедура ми направи следните неща:
1. Всичко от суапа не се изтрива, а отива в рам-а и системата зависва за няколко минути.
2. Утрепа ми половината програми, които вървяха
3. Като цяло отне няколко минути... време доста повече от необходимото за рестартиране на графичната среда... което практикувам по необходимост до сега....


Титла: Може ли да се "опразни" swap-а?
Публикувано от: Izzy в Feb 20, 2006, 15:38
sync не беше ли точно за това ?

Цитат
sync - flush filesystem buffers


Титла: Може ли да се "опразни" swap-а?
Публикувано от: loxs в Feb 20, 2006, 15:49
Ами току що прочетох мауала на командата (който е доста кратичък) и не ми изглежда да прави това:

Цитат
`sync': Synchronize data on disk with memory
============================================

   `sync' writes any data buffered in memory out to disk.  This can
include (but is not limited to) modified superblocks, modified inodes,
and delayed reads and writes.  This must be implemented by the kernel;
The `sync' program does nothing but exercise the `sync' system call.

   The kernel keeps data in memory to avoid doing (relatively slow) disk
reads and writes.  This improves performance, but if the computer
crashes, data may be lost or the filesystem corrupted as a result.
`sync' ensures everything in memory is written to disk.

   Any arguments are ignored, except for a lone `--help' or `--version'
(*note Common options::).

   An exit status of zero indicates success, and a nonzero value
indicates failure.


И все пак пробвах, но нямаше ефект. Заетостта на суап-а не се промени


Титла: Може ли да се "опразни" swap-а?
Публикувано от: melwin в Feb 20, 2006, 16:45
Ами пробвай с :
dd if=/dev/zero of=/dev/$swap_device bs=1024 count=524280


Титла: Може ли да се "опразни" swap-а?
Публикувано от: laskov в Feb 20, 2006, 16:53
Мисля, че правилното име на темата вече е "Как да си крашна системата?"


Титла: Може ли да се "опразни" swap-а?
Публикувано от: loxs в Feb 20, 2006, 16:57
Абе така си е, ама съм навит да я крашна 5-6-найсе пъти, ако стане далаверата с опразването на суап-а :)


Титла: Може ли да се "опразни" swap-а?
Публикувано от: melwin в Feb 20, 2006, 17:14
Помогна ли писането на нули?

едит:Ако не е .. освен следното, друго не се сещам:
swapoff -a
mkswap /dev/$swap_dev
swapon -a


Титла: Може ли да се "опразни" swap-а?
Публикувано от: loxs в Feb 20, 2006, 17:34
Ами да, крашна се системата :)
След като написах командата с
Примерен код
dd if=/dev/zero of=/dev/hda2 bs=1024 count=524280

 опитах в друг терминал да видя с top потреблението на ресурси..
Отговорът беше нещо от сорта на:

Init : Panick : Segentation enforcement <nqkakvi cifri> <i oshte neshto>

A графичнта среда продължи да работи още около минута... след което си замина.

Но трябва да призная... това все пак си беше най-ефективния начин за опразване на суап-а  :p


Титла: Може ли да се "опразни" swap-а?
Публикувано от: Hapkoc в Feb 20, 2006, 17:34
melwin, то проблема според мен е със swapoff, смисъл, че като пуснеш swapoff системата се опитва цялата информация от swap-а да я прехвърли в оперативната памет и това доста бави и вероятно пак оттам идва убиването на програми, понеже не стига памет.

а това с писането на нули ми се струва нечовешки грубо... смисъл все едно да пишеш нули в оперативната памет. ако изобщо е възможно такова нещо не виждам как няма да забие системата...


Титла: Може ли да се "опразни" swap-а?
Публикувано от: в Feb 20, 2006, 17:38
За какво ти е да празниш суап, това е работа на ядрото, не твоя. Просто си отвори втория пдф след като си затворил първия, айо има нещо ненужно в суап-а, то ще бъде разкарано.


Титла: Може ли да се "опразни" swap-а?
Публикувано от: loxs в Feb 20, 2006, 17:42
Точно там е работата, че след като затворя първия пи-ди-еф, той остава в суапа...

1. Отварям един пидиеф, после го затварям и отварям нов > системата зависва.
2. Отварям един пидиеф, затварям го и рестартирам КДЕ, след това отварям втория... няма проблеми

Желанието ми е да не се налага това рестартиране на КДЕ.

ПП: Мислех, че проблема се корени в това, че KPDF е интегрирана в КДЕ. Но с XPDF положението е абсолютно същото


Титла: Може ли да се "опразни" swap-а?
Публикувано от: never_mind в Feb 20, 2006, 17:47
Пробвай с Acrobat reader


Титла: Може ли да се "опразни" swap-а?
Публикувано от: в Feb 20, 2006, 17:50
Едно глупаво предложение.
Доколкото разбирам има как да се спре използването на виртуална памет. Няма ли начин за бърз формат на дяла?

Пак подчертавам - глупаво предложение.


Титла: Може ли да се "опразни" swap-а?
Публикувано от: в Feb 20, 2006, 18:02
Цитат (Hapkoc @ Фев. 20 2006,18:34)
melwin, то проблема според мен е със swapoff, смисъл, че като пуснеш swapoff системата се опитва цялата информация от swap-а да я прехвърли в оперативната памет и това доста бави и вероятно пак оттам идва убиването на програми, понеже не стига памет.

а това с писането на нули ми се струва нечовешки грубо... смисъл все едно да пишеш нули в оперативната памет. ако изобщо е възможно такова нещо не виждам как няма да забие системата...

Именно .. разликата е, че не пишеш 0-ли по паметта, а по суапа!
Това си работи безпроблемнно със 2.6 - системата нито лаг-ва, нито крашва.

loxs .. опитай по другия начин. Но проблема явно е в ядрото .. не освобождава суапа като хората.


Титла: Може ли да се "опразни" swap-а?
Публикувано от: в Feb 20, 2006, 18:07
mkswap ????


Титла: Може ли да се "опразни" swap-а?
Публикувано от: loxs в Feb 20, 2006, 18:35
Аз съм с ядро 2.4.31... пробвах и с мое компилирано и с bare.i, което е ядрото по подразбиране на Слак... но явно ще трябва да се замисля за 2.6 най-накрая :)


Титла: Може ли да се "опразни" swap-а?
Публикувано от: GoodT в Feb 20, 2006, 20:38
Пробвай след като прочетеш първия файл да затвориш kpdf и се увери ,че е изклюен: #ps | grep kpdf  ,ако не е #kill PID (ID номера на kpdf от предната команда)
Погледни и в temp директорията на kpdf .


Титла: Може ли да се "опразни" swap-а?
Публикувано от: в Feb 20, 2006, 23:28
Цитат (Guest @ Фев. 20 2006,19:02)
Цитат на: Hapkoc,Фев. 20 2006,18:34
melwin, то проблема според мен е със swapoff, смисъл, че като пуснеш swapoff системата се опитва цялата информация от swap-а да я прехвърли в оперативната памет и това доста бави и вероятно пак оттам идва убиването на програми, понеже не стига памет.

а това с писането на нули ми се струва нечовешки грубо... смисъл все едно да пишеш нули в оперативната памет. ако изобщо е възможно такова нещо не виждам как няма да забие системата...

Именно .. разликата е, че не пишеш 0-ли по паметта, а по суапа!
Това си работи безпроблемнно със 2.6 - системата нито лаг-ва, нито крашва.

loxs .. опитай по другия начин. Но проблема явно е в ядрото .. не освобождава суапа като хората.Е именно по паметта пишеш, суап-а ти е памет свалена на диск и VM manager-a като рече да си върне обратно страници от суап-а в рам-а, какво ще зареди? Твоите нули, ако изобщо се справи с почупени структури ...


Титла: Може ли да се "опразни" swap-а?
Публикувано от: loxs в Feb 21, 2006, 09:23
Цитат (never_mind @ Фев. 20 2006,17:47)
Пробвай с Acrobat reader

За добро или зло, именно този вариант проработи.
Добро за медицинската ми кариера (защото ще мога да уча човешки за изпита по вътрешни болести) и лошо за позицията ми на защитник на свободния софтуер.
Нямам време да търся други варианти, явно ще ползвам Акробат-а. Той не зарежда документа в рам+суап и  дори при търсене в 9000-то страници, процесора не работи на повече от 50-60% от мощността си, а РАМ-а и суап-а не помръдват....


Титла: Може ли да се "опразни" swap-а?
Публикувано от: в Feb 21, 2006, 09:59
Цитат (Guest @ Фев. 21 2006,00:28)
Цитат

Е именно по паметта пишеш, суап-а ти е памет свалена на диск и VM manager-a като рече да си върне обратно страници от суап-а в рам-а, какво ще зареди? Твоите нули, ако изобщо се справи с почупени структури ...

За да се опита подобно нещо - нормално е, да няма никакви отворени програми, резидентни или не. Нещо което при него явно не е било така. Ако не вярваш, че работи - опитай го при теб :)


Титла: Може ли да се "опразни" swap-а?
Публикувано от: laskov в Feb 21, 2006, 10:41
Цитат (melwin @ Фев. 21 2006,10:59)
Ако не вярваш, че работи - опитай го при теб :)

Добре, каква е ползата да го напълниш с нули? Как ще кажеш на ядрото "swap-а е празен". Или то ще види нулите и ще си каже "Ихаа-а, празен swap!!!" И защо празния swap да е пълен с нули, а не с FF например. А защо не пък с А4 ?
-------
Цитат
... лошо за позицията ми на защитник на свободния софтуер.
loxs, и аз се замислих сериозно. Това, че не можеш да "опразниш" swap-а наистина нарушава свободата!  :D  :D  :D


Титла: Може ли да се "опразни" swap-а?
Публикувано от: loxs в Feb 21, 2006, 10:48
Хах, бъзикай се ти :)


Титла: Може ли да се "опразни" swap-а?
Публикувано от: melwin в Feb 21, 2006, 11:21
Добре .. по принцип съм съгласен, че не е добра идея да се пишат тези 0-ли. Но по принцип когато суап-а е празен и /dev/swap e празно - от там ми дойде и идеята.
В крайна сметка не мисля, че може да има нещо в суапа след:
swapoff -a
dd if=/dev/zero of=/dev/swap bs=1024 count=bla bla
mkswap /dev/swap
swapon -a


Титла: Може ли да се "опразни" swap-а?
Публикувано от: Hapkoc в Feb 21, 2006, 11:38
аа, чакай сега малко :)

на мен поне до момента не ми стана ясно, че правих swapoff преди dd. при това положение мисля, че няма проблем да пишеш каквото си искаш на дяла за swap, обаче пък не виждам никакъв смисъл да го правиш.

след swapoff би следвало всичко от swap да е прехвърлено в оперативната памет (при условие че има достатъчно място разбира се), което само по себе си ще рече, че swap-а е празен. още повече, че mkswap ще пише върху нулите, които си написал точно преди него.