Автор Тема: Оптимизиране на системата.  (Прочетена 16813 пъти)

CableNut

  • Напреднали
  • *****
  • Публикации: 87
    • Профил
Активен

the_real_maniac

  • Напреднали
  • *****
  • Публикации: 1258
  • Kernel panic, me - no panic ;-) :-)
    • Профил
Оптимизиране на системата.
« Отговор #16 -: Feb 19, 2006, 18:52 »
Цитат (CableNut @ Ян. 10 2006,20:44)
Гледам,че няма такава тема,а ще е добре да си понастроим малко системите така,че да вървят по-бързо '<img'>
Нека започнем с оптимизиране на хард диска.Чрез командата "hdparm" може да зададем няколко настройки на хард диска.Тази команда се използва само от root shell.При задаване на параметър  "hdparm -I" може да видите текущото състояние на хард диска ви.
Пример:
Примерен код
hdparm -I /dev/hda


Чрез параметъра "-A" може да включите или изключите read-lookahead .Препоръчително е "включено" за по-голяма производителност.Настройки "1" вкл. , "0" изклл.
Пример:
Примерен код
hdparm -A1 /dev/hda


Чрез периметъра "-c" може да включите/изключите 32-битова I/O поддръжка на хард диска.Настройки "1" 32-бит., "2" 16-bit, "3" 32-бит sync.
Пример:

Примерен код
hdparm -c3 /dev/hda


Чрез периметъра "-d" може да включите/изключите използването на DMA (Direct Memory Access).
Настройки "1" вкл. , "2" изкл.
Пример:
Примерен код
hdparm -d1 /dev/hda


Чрез периметъра "-M" може да включите/изключите опцията AAM (Automatic Acoustic Management)
Настройки от 0 до 254. При 128 главите на хард диска се движат най-тихо и съответно най-бавно.При 254 е най-шумно и съответно най-бързо.
Пример:
Примерен код
hdparm -M128 /dev/hda


Давайте още предложения как да оптимизираме системата си. '<img'>

Няма ТОЧНО такава тема, но има такава статия и въпроса е бил повдигна много повече от 1 път във форума, но как да е.
Активен

Powered by Debian GNU / LINUX /// Intel inside ...

„Насилието е последното убежище на некомпетентността“ - Айзък Азимов (1920 — 1992)

CableNut

  • Напреднали
  • *****
  • Публикации: 87
    • Профил
Оптимизиране на системата.
« Отговор #17 -: Feb 20, 2006, 04:02 »
Оптимизиране на Lilo boot manager:
редактирайте с текстов редактор /etc/lilo.conf ,и добавете настройката "compact".Пример:

Примерен код
default="Linux"
boot=/dev/hda
map=/boot/map
keytable=/boot/bg.klt
menu-scheme=wb:bw:wb:bw
compact
prompt


След редактирането на lilo.conf трябва да стартирате lilo за да запише промените.
the_real_maniac и все пак стигна до извода,че няма такава тема,нали?
Активен

Lord Bad

  • Напреднали
  • *****
  • Публикации: 1667
  • Distribution: Fedora 13
  • Window Manager: GNOME
  • Jedi Knight
    • Профил
Оптимизиране на системата.
« Отговор #18 -: Feb 20, 2006, 09:36 »
JRE наистина е една топ дупка. Толкова течове на памет има там че е направо чудничко. Ако можете да минете без Java приложения - по-добре за вас и системата ви...
Активен

Fuelled by Fedora 13 "Goddard"
====================================
Rock it!

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Оптимизиране на системата.
« Отговор #19 -: Feb 20, 2006, 12:17 »
/offtopic

Lord_Bad, не се ли изсили малко с това изказване за Java?

В световната мрежа наречена интернет има доста машини, които денонощно изпълняват услуги базирани на Java (JBoss, Tomcat, WebSphere, etc.). Нима твърдиш, че тези машини през определен период се рестартират с цел осводождаване на памет, заета от утечки?

За течове в JRE ли говорим или за приложения писани на Java? Понеже ако е второто, то няма нищо общо с това на какъв език е писано.

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

edit: не се заяждам, просто бих искал да дадеш конкретен пример.
Активен

Lord Bad

  • Напреднали
  • *****
  • Публикации: 1667
  • Distribution: Fedora 13
  • Window Manager: GNOME
  • Jedi Knight
    • Профил
Оптимизиране на системата.
« Отговор #20 -: Feb 20, 2006, 12:47 »
Аз не се занимавам с Java така че се извинявам ако кажа нещо погрешно предварително. Доколкото знам паметта на виртуалната машина се освобождава от тъй наречения garbage collector и негови несъвършенства
са причина за течовете на памет при продължителна употреба на на някое Java приложение. Разбира се тези недостатъци може да са скромни и главната вина да е в разработчиците на Java приложенията, но е факт че ако си държа Азуреус да работи на компа няколко дни нон-стоп потреблението му памет расте линейно докато не ме принуди да направя killall java, която ми освобождава в този момент 500МБ RAM... Явно програмата заделя памет, която или тя или garbage collector-a не освобождават.... В старата работа един tomcat периодично си забиваше поради сходни проблеми и съпорта дебнеше денонощно кога ще си отиде... Хубаво - архитекрно независими програми, но на каква цена? Виртуалната машина също си е тежичка, но това е приемливо с оглед на това какво ти спестява.
Активен

Fuelled by Fedora 13 "Goddard"
====================================
Rock it!

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Оптимизиране на системата.
« Отговор #21 -: Feb 20, 2006, 13:15 »
Ами аз от своя страна не съм ползвал Azureus, така че не мога да се изкажа компетентно по въпроса, но все си мисля, че проблема е по-скоро в него. '<img'>

В Tomcat също нищо чудно да е имало такива проблеми.

Мисълта ми беше друга - като се изкаже едно такова мнение и като е формулирано по такъв начин, хората, които не са наясно с материята, си правят извод на базата на това мнение, че Java принципно е (образно казано) "кофти" технология. По този начин се насажда неприязън у хората, която не е базирана на личен опит.

Аз докато не започнах да се занимавам с Java също дълго време имах мнение, че това е нечовешки тежка платформа и бягах надалеч. Истината е, че би следвало човек да си изгражда мнение за каквото и да било на базата на опит (когато това е възможно разбира се).

Това е от мен.

Поздрави.
Активен

loxs

  • Напреднали
  • *****
  • Публикации: 307
    • Профил
Оптимизиране на системата.
« Отговор #22 -: Feb 20, 2006, 14:37 »
И аз съм останал с такива впечатления за Азуреус. Не знам за Джава като цяло, ама едновременно толкова многофункционална и толкова тромава програма като азуреус още не съм виждал '<img'>
Активен

Linux is like a wigwam - no windows, no gates, apache inside!
We shall walk together through all eternity. Wandering in the shadows, spreading the fear!
Gentoo - Baselayout 1.12.9-r2
Linux 2.6.21-suspend2-r6 Mon Jun 25 17:48:08 EEST 2007

Lord Bad

  • Напреднали
  • *****
  • Публикации: 1667
  • Distribution: Fedora 13
  • Window Manager: GNOME
  • Jedi Knight
    • Профил
Оптимизиране на системата.
« Отговор #23 -: Feb 20, 2006, 15:07 »
Не знам, аз си мисля че въпреки скромния ми опит в областта мнението ми не е лишено от добри доводи, а и с друго Java технологии съм имал подобни проблеми. Честно казано надявам се в моно нещата да са на по-добро ниво. Според мен поне всичко, което натоварва системата сериозно трябва да е писано за конкретната платформа на език тип с/с++. Това разбира се си е лично мое мнение, което може и да променя някой ден.
Активен

Fuelled by Fedora 13 "Goddard"
====================================
Rock it!

CableNut

  • Напреднали
  • *****
  • Публикации: 87
    • Профил
Оптимизиране на системата.
« Отговор #24 -: Mar 15, 2006, 14:12 »
Намаляване времето за стартиране.
По принцип всички демони,които стартират се изчакват един-друг.Със следващата команда може да накарате да се зареждат възможно най-бързо без да се изчакват,което драматично намалява времето за стартиране на машината ви,НО ИМА РИСК НЯКОИ ДЕМОНИ ДА НЕ СЕ СТАРТИРАТ! За целта трябва да редактирате  "/etc/rc" с текстов редактор и да добавите & след $i start

Примерен код
if egrep -q "(daemon |action |success |failure )" $i 2>/dev/null \
         || [ "$subsys" = "single" -o "$subsys" = "local" ]; then
      $i start &
   else


Изпробвайте го и ако всичко си стартира нормално може да го оставите.А ако нещо отказва да стартира просто трябва да махнете това & след $i start
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Оптимизиране на системата.
« Отговор #25 -: Mar 23, 2006, 18:42 »
Цитат
Изпробвайте го и ако всичко си стартира нормално може да го оставите


Няма никаква гаранция, че ако веднъж всичко е стартирало нормално и следващия път ще стартира.

Лично аз не бих рискувал да си навлека главоболия за една минута чакане повече при стартиране на машината. Такова решение е чиста проба създаване на условия за race condition. Демоните, които се зареждат при първоначално стартиране на системата изрично се пускат в определена последователност.

Може да е хитро донякъде, но определено не го препоръчвам на никого.
Активен

loxs

  • Напреднали
  • *****
  • Публикации: 307
    • Профил
Оптимизиране на системата.
« Отговор #26 -: Mar 25, 2006, 23:08 »
Честно казано доста се чудя на хора, които мерят времето за стартиране.
Вие толкова често ли си стартирате/рестартирате машините, че това е от някакво значение за вас?
При мен рестарт се прави средно веднъж на седмица, най-често за да експериментирам с някое новооткрито дистро.
Активен

Linux is like a wigwam - no windows, no gates, apache inside!
We shall walk together through all eternity. Wandering in the shadows, spreading the fear!
Gentoo - Baselayout 1.12.9-r2
Linux 2.6.21-suspend2-r6 Mon Jun 25 17:48:08 EEST 2007

CableNut

  • Напреднали
  • *****
  • Публикации: 87
    • Профил
Оптимизиране на системата.
« Отговор #27 -: Mar 27, 2006, 00:48 »
loxs темата не е деградиране на системата!!! Като искаш направи си я да я чакаш 1 час.
И стига сте писали глупости тука! Много ясно и четливо съм написал,че има риск като се прави това!И всеки трябва да си знае,че когато нещо се ускорява има риск или поне в повечето случай.
Бързо-нестабилно<->Бавно-стабилно
Активен

mars

  • Напреднали
  • *****
  • Публикации: 46
    • Профил
Оптимизиране на системата.
« Отговор #28 -: Apr 16, 2006, 17:48 »
Цитат (Lord_Bad @ Фев. 20 2006,13:47)
Аз не се занимавам с Java така че се извинявам ако кажа нещо погрешно предварително. Доколкото знам паметта на виртуалната машина се освобождава от тъй наречения garbage collector и негови несъвършенства
са причина за течовете на памет при продължителна употреба на на някое Java приложение. Разбира се тези недостатъци може да са скромни и главната вина да е в разработчиците на Java приложенията, но е факт че ако си държа Азуреус да работи на компа няколко дни нон-стоп потреблението му памет расте линейно докато не ме принуди да направя killall java, която ми освобождава в този момент 500МБ RAM... Явно програмата заделя памет, която или тя или garbage collector-a не освобождават.... В старата работа един tomcat периодично си забиваше поради сходни проблеми и съпорта дебнеше денонощно кога ще си отиде... Хубаво - архитекрно независими програми, но на каква цена? Виртуалната машина също си е тежичка, но това е приемливо с оглед на това какво ти спестява.

Азуреус не е само джава. Има SWT код там, който може да се е бъгнал. А и можеш да зададеш изрично колко да ти е max heap-a заделен от виртуалната машина с -Xmx256M примерно. Това не включва паметта заредена от native модулите на SWT и все пак е нещо.
Активен

  • Гост
Оптимизиране на системата.
« Отговор #29 -: Apr 16, 2006, 21:22 »
Първо може би е важно да спомена, че съм Java програмист. Личното ми мнение е че работата с паметта в Java е доста сложна процедура с оглед на това, че трябва да следиш всичко което си инициализирал да не се преинициализира по няколко пъти. За тези които не разбират мога и един елементарен пример да дам:
Примерен код
StringTokenizer strTk = null;
int i = 0;
for(int i = 0; i < 100; i++) {
strTk = new StringTokenizer(...);
...
}
За тези които разбират - сами разбирате, че в края на изпълнение на този код ще имате 99 практически неизползваеми StringTokenizer-а (които заемат памет). За тези които не разбират - цикъл който постоянно генерира нови елементи, но не премахва старите и те остават в паметта. Ето поради такива причини Azureus и други подобни Java приложения започват да заемат огромно количество памет след около ден-два. Това трябва да бъде стриктно следено от програмиста. Доста код съм написал и доста често ми се е случвала подобна ситуация, последното ми приложение обаче (един листънър) специално един ден си играх за да премахна такива грешки и вече 3 седмици работи без да е създало проблем.
Активен