Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Неправильная расстановка приоритетов
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
Cassiopeja
n00b
n00b


Joined: 13 Jun 2005
Posts: 4
Location: Russia, Kazan

PostPosted: Mon Jun 13, 2005 5:54 pm    Post subject: Неправильная расстановка приори Reply with quote

Уже давно есть проблема. Никак нем могу разобраться.

Если под генту запустить компиляцию, emerge или разархивацию какого
нить архива, то почему то вся система переключается на выполнение этой задачи.
При этом работа с остальными программами запущенными в данный момент не
возможна, жутко все тормозит.

Вроде и настройку ядра смотрела, ничего не нашла, что может влиять.
Подскажите, пожалуйста, в чем может быть дело и в каком направлении искать решение?
Back to top
View user's profile Send private message
dmiceman
Tux's lil' helper
Tux's lil' helper


Joined: 06 Jun 2005
Posts: 115

PostPosted: Mon Jun 13, 2005 6:12 pm    Post subject: Reply with quote

памяти не хватает? если при компиляции идет активный ввод/вывод, то да, это печально становится. еще -- ccache жить помогает (если памяти достаточно).

для меня -- в основном 512 достаточно, и лишь недавно стал задумываться о гигабайте.
Back to top
View user's profile Send private message
kon
Apprentice
Apprentice


Joined: 05 Mar 2004
Posts: 156
Location: Russia. Saint-Petersburg

PostPosted: Mon Jun 13, 2005 6:17 pm    Post subject: Reply with quote

Cassiopeja
hdparm /dev/<ваш диск, возможно hda>
Back to top
View user's profile Send private message
point212
n00b
n00b


Joined: 07 Jun 2005
Posts: 18
Location: Volgodonsk

PostPosted: Mon Jun 13, 2005 6:17 pm    Post subject: Re: Неправильная расстановка прио Reply with quote

Cassiopeja wrote:
Уже давно есть проблема. Никак нем могу разобраться.

Если под генту запустить компиляцию, emerge или разархивацию какого
нить архива, то почему то вся система переключается на выполнение этой задачи.
При этом работа с остальными программами запущенными в данный момент не
возможна, жутко все тормозит.

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


Странно. У меня работа с системой протекает довольно плавно. Причем даже при большом (>2) количестве одновременных компиляций. Загрузка процессора - 100%, при работе с компом никаких подтормаживаний не замечаю (Xorg,KDE,mplayer,xmms,supertux). Magic? ^)

PS A1000/512M, Gentoo(stage1) :)
Back to top
View user's profile Send private message
ManJak
Guru
Guru


Joined: 18 Dec 2004
Posts: 561
Location: St. Petersburg, Russia

PostPosted: Tue Jun 14, 2005 5:13 am    Post subject: Reply with quote

А своп как заполняется?
Back to top
View user's profile Send private message
Cassiopeja
n00b
n00b


Joined: 13 Jun 2005
Posts: 4
Location: Russia, Kazan

PostPosted: Tue Jun 14, 2005 5:41 am    Post subject: Reply with quote

Памяти предостаточно, раньше 256 было, теперь 512 и та же проблема.
Жесткий диск seagate 10000.
hdparm вечером сделаю.

И еще вот какие проблемы тоже связанные с этой проблемой.
Если я нахожусь в инете (а у меня дайлап), и делаю emerge some_packet.

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

Тут я думаю не в железе дело, а в чем то другом.
Back to top
View user's profile Send private message
sovchik
n00b
n00b


Joined: 22 Mar 2005
Posts: 30

PostPosted: Tue Jun 14, 2005 5:47 am    Post subject: Reply with quote

для начала hdparm -d1 /dev/<ваш диск>. Очень похоже на отрубленный dma на винте.
_________________
Вот.
Back to top
View user's profile Send private message
kaktyc
Tux's lil' helper
Tux's lil' helper


Joined: 14 Aug 2004
Posts: 100

PostPosted: Tue Jun 14, 2005 6:37 am    Post subject: Reply with quote

Какое ядро и какой испольуется scheduler?
Code:
~ $ cat /sys/block/hda/queue/scheduler
noop anticipatory deadline [cfq]

Тот, что дефолтный, будет в квадратных скобках. У меня - cfq.
Back to top
View user's profile Send private message
Nelud
Apprentice
Apprentice


Joined: 08 Oct 2004
Posts: 271

PostPosted: Tue Jun 14, 2005 7:14 am    Post subject: Reply with quote

По поводу emerge: не мешало бы выставить в /etc/make.conf параметр PORTAGE_NICENESS. У меня он равен 10. У тебя, конечно, не в этом проблема, но это полезный параметр.
Back to top
View user's profile Send private message
v12aml
n00b
n00b


Joined: 04 Feb 2005
Posts: 23

PostPosted: Tue Jun 14, 2005 5:01 pm    Post subject: Reply with quote

может просто MAKEOPTS стоит большой?
_________________
GNU/Wonderland -- GNU/óÔÒÁÎÁ ÞÕÄÅÓ, ÓÔÒÁÎÁ, × ËÏÔÏÒÏÊ ×Ù ÞÁÓÔÏ ÂÙ×ÁÅÔÅ, ÎÏ, × ËÏÔÏÒÕÀ, ÞÔÏ ÐÒÉÍÅÞÁÔÅÌØÎÏ, ÎÅ ÎÁÄÏ ÏÆÏÒÍÌÑÔØ ×ÉÚÕ.
Back to top
View user's profile Send private message
Cassiopeja
n00b
n00b


Joined: 13 Jun 2005
Posts: 4
Location: Russia, Kazan

PostPosted: Tue Jun 14, 2005 5:14 pm    Post subject: Reply with quote

Точно dma был отключен.
Уже при загрузке заметила разницу.
Сейчас все летает.
Аж обидно, что столько времени без dma сидела.

Всем большое спасибо! :-)
Back to top
View user's profile Send private message
ManJak
Guru
Guru


Joined: 18 Dec 2004
Posts: 561
Location: St. Petersburg, Russia

PostPosted: Tue Jun 14, 2005 6:14 pm    Post subject: Reply with quote

kaktyc wrote:
Какое ядро и какой испольуется scheduler?
Code:
~ $ cat /sys/block/hda/queue/scheduler
noop anticipatory deadline [cfq]

Тот, что дефолтный, будет в квадратных скобках. У меня - cfq.


Можно подробней, со ссылками?
Я просто всегда интересовался, но всегда забывал про него :?
Пока будет реминдер приходить отсюда - супер :D
Back to top
View user's profile Send private message
kaktyc
Tux's lil' helper
Tux's lil' helper


Joined: 14 Aug 2004
Posts: 100

PostPosted: Tue Jun 14, 2005 8:04 pm    Post subject: Reply with quote

Ну со ссылками - это гугль + kerneltrap.org :) На последнем очень много чего есть, но надо перелопачивать. Да еще здесь где-то на форумах в обсуждении genetic scheduler было. Если вкратце, то noop - самый тормозной scheduler. Сделан, видимо, "чтобы было". Deadline scheduler будет лучше, если активно гамаешься. Anticipatory говорят хорош на БД. А cfq распределяет доступ к диску равномерно между всеми процессами. Но для игр не подходит. Да, это все I/O schedulers. Есть еще cpu schedulers, но это отдельная история.
В ядро можно вкомпилить все. Выбирать при загрузке параметром elevator=schedule_name. Или без перезагрузки
Code:
echo scheduler_name > /sys/block/hda/queue/scheduler
где hda - твой винт. Я лично пользуюсь скриптом, найденным здесь на форумах:
Code:
#!/bin/bash

###***Authored by Genn***###
##E-Mail: TheWindRider@myrealbox.com

#Last Update: 1/18/05

#This script was created to change the currently used scheduler
#under the vivid-sources kernel.
#(http://forums.gentoo.org/viewtopic.php?p=1337010, maintained by fallow & troll)
#There are probably other kernels that could use this script as
#well, but I'm not aware of them.

#This script must be executable.  If it does not work
#'chmod 700 *this_script*' should do it.

#You can supply one optional arguement with this script.
#'script_name block-device' will run the script with the
#intend to interactively change the scheduler on the
#block device you specify.  The block device is just the
#last portion of the device address without slashes.
#IE, if you wanted to adjust the schedular on /dev/hda,
#you would run 'this_script hda' and follow the on-screen
#instructions.

#Now, I say the arguement is optional because you are
#requred to set the DEFAULT_DRIVE variable to a valid block
#device.  So, if you do not supply the arguement, the script
#will use that block-device.  The variable is set by the
#same rules that the arguement is supplied by; just use the
#last portion of the address with no slashes.

#And for those of you wondering where the variable is,

DEFAULT_DRIVE=hda

#Now you've done everything you need to, go run the script,
#and ignore everything from here down.
##########################################################

#Verification of a valid default block device choice.
if [ -z `ls /sys/block | grep $DEFAULT_DRIVE` ]
  then
    echo "You chose a non-valid block device as default."
    echo "/dev/$DEFAULT_DRIVE does not exist."
    echo "Please change the variable DEFAULT_DRIVE in the script."
    exit
fi

#Verification of root level access
ROOT_UID=0
ERR_NOTROOT=67

if [ "$UID" != "$ROOT_UID" ]
then
  echo "You must be root to run this script."
  exit $ERR_NOTROOT
fi

#If an arguement is supplied this makes sure it is used.
#Or if none is supplied it uses the default choice.
if [ -n "$1" ]
then
  if [ -n `ls /sys/block | grep $1` ]
  then
    echo "Now using /dev/$1 for block device."
    DRIVE=$1

  else
    echo "You chose a non-valid block device."
    echo "/dev/$1 does not exist."
    exit 1

  fi

else
  echo "No arguement supplied."
  echo "Defaulting to /dev/${DEFAULT_DRIVE} for block device."
  DRIVE=${DEFAULT_DRIVE}

fi

#Schedular file location
SCHEDLOC=/sys/block/${DRIVE}/queue/scheduler

#Verification of valid scheduler location
if [ `[ -f ${SCHEDLOC} ]` ! -a `[ -w ${SCHEDLOC} ]` ]
then
  echo "Uh oh, either $SCHEDLOC is not a file, or you do not "
  echo "have write access to it.  I would suggest you verify"
  echo "that the location listed above is correct and that the "
  echo "value in the script did not get altered somewhow.  The "
  echo "standard location is: "
  echo "/sys/block/{some_block_device}/queue/scheduler.  If it "
  echo "is valid, try echoing something by hand to "
  echo "$SCHEDLOC.  If you're "
  echo "sure your using the right kernel, and none of that works, "
  echo "make a post in the vivid-sources thread.  On the other "
  echo "hand, if echoing by hand does work, send me an e-mail as "
  echo "you just discovered a bug."
  exit 1

fi

#Identification of different available schedulers.
SCHED1=`cat ${SCHEDLOC} | gawk '{print $1}'`
SCHED2=`cat ${SCHEDLOC} | gawk '{print $2}'`
SCHED3=`cat ${SCHEDLOC} | gawk '{print $3}'`
SCHED4=`cat ${SCHEDLOC} | gawk '{print $4}'`

#User Interface portion
echo "List of available schedulers"
echo "The bracketed choice is the one currectly in use."
echo "Selecting this one does nothing."

echo "1 -  ${SCHED1}"
echo "2 -  ${SCHED2}"
echo "3 -  ${SCHED3}"
echo "4 -  ${SCHED4}"

echo " "
echo "Please type the number corresponding the scheduler you wish to use."

#This applies the selected change
read CHOICE
case ${CHOICE} in
        1)
                echo "$SCHED1" > $SCHEDLOC
                NEWSCHED=${SCHED1}
                ;;
        2)
                echo "$SCHED2" > $SCHEDLOC
                NEWSCHED=${SCHED2}
                ;;
        3)
                echo "$SCHED3" > $SCHEDLOC
                NEWSCHED=${SCHED3}
                ;;
        4)
                echo "$SCHED4" > $SCHEDLOC
                NEWSCHED=${SCHED4}
                ;;
        *)
                echo "You must input a numerical value corresponding to one of the not-in-use schedulers."
                exit 1
                ;;
esac

#Error catching if the current scheduler is chosen.
VALIDATE=`echo $NEWSCHED | grep -F '['`
if [ "${VALIDATE}" != "" ]
then
        echo "You just chose the scheduler currently in use."
        exit 1
fi

echo " "

#Announcement of what schedular was selected for which drive.
echo "Schedular changed to $NEWSCHED on /dev/${DRIVE}"
exit 0

Вот пожалуй и все. :)
P.S. Много полезной инфы есть в тредах по ядрам love и nitro.
Back to top
View user's profile Send private message
YD
Guru
Guru


Joined: 30 Oct 2004
Posts: 466
Location: Riga, Latvia

PostPosted: Tue Jun 14, 2005 8:21 pm    Post subject: Reply with quote

Я вообщем-то в кернел себе deadline ставлю только и без подобных скриптов обхожусь (:
Back to top
View user's profile Send private message
kaktyc
Tux's lil' helper
Tux's lil' helper


Joined: 14 Aug 2004
Posts: 100

PostPosted: Wed Jun 15, 2005 7:07 am    Post subject: Reply with quote

Я долго экспериментировал с ними, поэтому оставил их все. Иногда режусь в Диабло2 - тогда включаю deadline. С ним чуть быстрее. А для повседневной работы исрользую cfq. На моей конфигурации самое то :)
Back to top
View user's profile Send private message
ManJak
Guru
Guru


Joined: 18 Dec 2004
Posts: 561
Location: St. Petersburg, Russia

PostPosted: Wed Jun 15, 2005 11:31 am    Post subject: Reply with quote

kaktyc wrote:
Я долго экспериментировал с ними, поэтому оставил их все. Иногда режусь в Диабло2 - тогда включаю deadline. С ним чуть быстрее. А для повседневной работы исрользую cfq. На моей конфигурации самое то :)


Пасиб, нето давно мучаюсь, а так вкратце сразу понятно.
Просто, в доках к ядру, они все запутать стараються :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum