powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Узнать тип загрузки потока.
15 сообщений из 15, страница 1 из 1
Узнать тип загрузки потока.
    #40114550
Фотография Ежов Дмитрий Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дня доброго.
Можно ли как то профилировать пток по объему читаемой/записываемой памяти? Ну, тоесть,

вот такой код скорее всего не будет работать с памятью:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
procedure TForm1.Button3Click(Sender: TObject);
var
  i: integer;
begin
  i := 0;
  while true do
  begin
    inc(i);
    if i > 10000 then
      i := 0;
  end;
end;



а вот такой - будет
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
procedure TForm1.Button3Click(Sender: TObject);
var
  i: integer;
  buffer: Array of Byte;
  bufferLength: Cardinal;
begin

  bufferLength := 32000000;
  SetLength(buffer, bufferLength);
  while true do
  begin
    for i := 0 to bufferLength - 1 do
    begin
      buffer[i] := buffer[i] + 1;
    end;
  end;
end;



Есть какие-нибудь средства понять, работает ли поток с памятью?
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114553
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ежов Дмитрий СергеевичЕсть какие-нибудь средства понять, работает ли поток с памятью?

Читать код глазками не предлагать?..

Можно поставить хук на менеджер памяти и следить из каких потоков он вызывается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114554
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ежов Дмитрий Сергеевич,

Перехват менеджера памяти и потоковые счётчики на GetMem/FreeMem.
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114555
Фотография Ежов Дмитрий Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

я про стороннее приложение речь веду.
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114559
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ежов Дмитрий Сергеевич
я про стороннее приложение речь веду.
Нельзя. Память принадлежит всему процессу
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114560
Фотография Ежов Дмитрий Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чисто теоретически - это инъекция dll-ки в приложуху и сплайсинг VirtualAlloc.
Но это грубо, так как над ним обычно живут языковые MM, которые могут дробить 64-кб страницы по своему усмотрению.

Вот и вопрос - есть ли какая-то готовая приблуда, которая меряет динамику работы с памятью, хотя бы на уровне VirtualAlloc?
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114561
zinpub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ежов Дмитрий Сергеевич,

Некоторые инcтрументы есть в AQTime
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114562
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ежов Дмитрий Сергеевичесть ли какая-то готовая приблуда, которая меряет динамику работы с памятью,
хотя бы на уровне VirtualAlloc?

Performance Monitor. А при чём тут Дельфи?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114581
Фотография Ежов Дмитрий Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

и какой счетчик?
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114588
Фотография Ежов Дмитрий Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

"А при чём тут Дельфи?"
Я других ЯП, кроме Дельфи и 1С не знаю, и подходящих разделов под мой вопрос не нашел.
Пишу там, где могу дать пример.
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114591
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ежов Дмитрий Сергеевичи какой счетчик?

Ах да, я и забыл, что они там глобальные...

Process Explorer в свойствах процесса показывает график приватной памяти
конкретного процесса.

RamMap покажет детали, но вроде как не умеет в графики.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114597
Фотография Ежов Дмитрий Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ProcessExplorer покажет ошибки страниц (и дельту), а они будут, если я буду память постоянно выделять.
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114600
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибки страниц возникают в основном при свопе, а не выделении.

Какую именно проблему-то ты решаешь?..
Правильный раздел: https://www.sql.ru/forum/windows
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114656
Фотография Ежов Дмитрий Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

"Ошибки страниц возникают в основном при свопе, а не выделении."

Даже не знаю, что сказать. А вы - точно специалист?

Запустите этот код и посмотрите, как быстро процесс выберется в топ ошибок страниц. И сколько он будет потреблять памяти.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
procedure TForm1.Button3Click(Sender: TObject);
var
  i: integer;
  buffer: Array of Byte;
  bufferLength: Cardinal;
  s:String;
begin
  bufferLength := 500000;
  s:='';
  while true do
  begin
    for i := 0 to bufferLength - 1 do
    begin
      SetLength(buffer, bufferLength);
      buffer[i] := buffer[i] + 1;
      SetLength(buffer, 0);
    end;
  end;
end;



Модератор: Пользуйтесь тегом (кнопкой) SRC для оформления кода, пожалуйста.
...
Рейтинг: 0 / 0
Узнать тип загрузки потока.
    #40114657
Фотография Ежов Дмитрий Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

"Правильный раздел: https://www.sql.ru/forum/windows"
Спасибо, буду писать там.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Узнать тип загрузки потока.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]