Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему IBExpert так загружает процессор? [D7, IB6.x]


xayam ©   (2006-03-18 23:22:00) 

Поставил тут последнюю версию, все круто, не могу нарадоваться, но процессор загружен стабильно (!) на 50% даже когда ничего не делаю.


xayam   (2006-03-19 18:25:00) [1]

Вот все и выяснилось - заходим Настройки/Настройки среды/IBExpert Direct/ снимаем галочку Автоматическая проверка обновлений, перезапускаем и все ОК


Desdechado   (2006-03-19 16:54:00) [2]

ты лучше в саппорт пиши, они отвечают


xayam   (2006-03-19 15:57:00) [3]


> попробуй к примеру не просто отключить базы, а вообще остановить
> сервис IB, и запустить IBExpert

Тоже самое.
Еще один глюк нашел - если нажать на выход и выскочившее окошко нажать нет, то загрузка процессора пропадает! До следующего запуска эксперта))


sniknik   (2006-03-19 15:48:00) [4]

> можно ее просто запустить не подключаясь к базе - будет тоже самое.
у меня нет такого эффекта даже при подключеных... может он ее инициирует? попробуй к примеру не просто отключить базы, а вообще остановить сервис IB, и запустить IBExpert ??? поменялось чтонибудь?


xayam   (2006-03-19 15:30:00) [5]


> знаю есть в IB такое понятие как "сборка мусора",
А IBExpert здесь при чем? Как раз сама прога жрет ресурсы, можно ее просто запустить не подключаясь к базе - будет тоже самое. С Delphi,к примеру, такого нет.


sniknik   (2006-03-19 14:56:00) [6]

> Что-то в треде с низким приоритетом делает а что не интересовался.
насколько знаю есть в IB такое понятие как "сборка мусора", вполне может делаться по OnIdle.


Sergey Masloff   (2006-03-19 13:09:00) [7]

xayam ©   (19.03.06 13:03) [9]
>Процесс вроде из потоков и состоит
Но исполнительная система кванты на исполнение не процессам а потокам отдает. Есть приоритет процесса есть приоритет его потоков. Их сочетание даст "абсолютный" приоритет на основании которого поток и будет свои порции получать.


xayam   (2006-03-19 13:03:00) [8]

Процесс вроде из потоков и состоит


jack128   (2006-03-19 12:46:00) [9]

xayam ©   (19.03.06 11:49) [7]
В диспечере у меня средний

Это приоритет процесса, а Сергей говорит о потоках.


xayam   (2006-03-19 11:49:00) [10]

Вот еще - запустил другую прогу, грузящую проц на 50-60%, сначала загрузка IBExpert'ом упала до 35-40%.

> Что-то в треде с низким приоритетом

А как ты приоритет определяешь? В диспечере у меня средний


Sergey Masloff   (2006-03-19 11:43:00) [11]

sniknik ©   (19.03.06 11:38) [4]
Что-то делаешь не так ;-) У меня далеко не последней версии но действительно процессор эпизодически грузит. Но именно так - когда задач больше нет. Что-то в треде с низким приоритетом делает а что не интересовался.


xayam   (2006-03-19 11:42:00) [12]


> что делаю не так?

Вот я тоже удивляюсь. У меня тоже сначала нормально было, потом с базой работал несколько дней и вот такая фигня. Кстати вчера в поисковике искал, так же у кого то еще было на этом форуме, но тему удалили уже, облом))


sniknik   (2006-03-19 11:38:00) [13]

скачал тоже последний, проверить (до этого неизвестно какой версии "валялся", ну не пользуюсь...) запустил, ничего не делаю... загрузка "пляшет" 2/3/5 %.
что делаю не так?


xayam   (2006-03-19 11:01:00) [14]

Так в том то и дело - подтормаживает.
> когда что-нибудь делаешь?

55% - максимум

> При этом если что моментально отдает.

Как видим нет

> Ну видит IBExpert что процессор не занят и занимает его
> под свои нужды

А это что за нужды?


Sergey Masloff   (2006-03-19 09:55:00) [15]

Я к тому что непонятно что тревожит. Ну видит IBExpert что процессор не занят и занимает его под свои нужды. При этом если что моментально отдает.

 Пример:

program Project2;

{$APPTYPE CONSOLE}

uses
 SysUtils, Classes, Unit2;

var
 it : TIdleThread;
begin
 it := TIdleThread.Create(true);
 it.Priority := tpIdle;
 it.Resume();
 Readln;
end.


где

unit Unit2;
interface
uses
 Classes;

type
 TIdleThread = class(TThread)
 protected
   procedure Execute; override;
 end;

implementation

procedure TIdleThread.Execute;
var i : Integer;
begin
 while (true) do
   i := i + 1; // Ну просто пример. Бесполезный цикл
end;

end.



Эта программа будет есть почти 100% процессора. А если ее запустить 3 раза то каждый экземпляр по 33% примерно. А если 100 то каждый по 1 %.
И даже при 100 запущеных программах никакого влияния на производительность других программ не будет потому что как только процеццор будет занят чем-то другим эти потоки заснут и будут ждать пока процессору станет нечего делать.


Sergey Masloff   (2006-03-19 08:33:00) [16]

А когда что-нибудь делаешь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо