powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Способы борьбы с фрагментацией памяти
25 сообщений из 65, страница 2 из 3
Способы борьбы с фрагментацией памяти
    #40085331
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и того же автора сохраню тут ссылку на книгу "Delphi. Event-based and asynchronous programming" дабы не потерять самому.
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085333
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_
hlopotun
Фрагментация организованная одним приложением мешает выделять цельные блоки другому приложению

GunSmoker
Память в программах виртуальна ужо больше 25 лет. Никаким макаром память в вашей программе не может влиять на ядро или другие программы.


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

а дефрагментаторы не пробовал?
Мертвому припарка. Сами разработчики ОСи не рекомендуют.
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085362
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
22.07.2021 12:32, Barmaley57 пишет:
> Мертвому припарка. Сами разработчики ОСи не рекомендуют.

скучный ты человек. нет в тебе романтики... ©
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085363
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий, се ля ви)
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085371
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barmaley57Надо смотреть, что вообще творится с памятью. Сколько физической. Какие операции с ней
производятся.

Ну, вы ещё его спросите "зачем в процедуре импорта данных в БД используется OCX"...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085394
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun
получается виртуализация избавляет нас от фрагментации памяти одним приложением для другого?
просто хочу понять.
Память у каждого процесса своя. И нужно приложить большие усилия, чтобы из одного процесса повлиять на память в другом процессе
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085407
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в некоторых местах уже нахожу проблемы. Например маски удерживаюшие большие массивы данных не закрываются а просто скрываются (в последующем для более быстрого открытия). Сейчас удалось спровоцировать ситуацию когда скрытая маска продолжала удерживать больще 1го гигабайта данных.
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085411
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
22.07.2021 13:29, _Vasilisk_ пишет:
> Память у каждого процесса своя. И нужно приложить большие усилия, чтобы из одного процесса повлиять на память в другом процессе

добавлю:
пейджинг встроен в архитектуру процессора.
"влезть" в память чужого процесса без обращения к весьма специфическим функциям ядра ОСи физически невозможно.
и функции эти требуют эскалации прав.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085415
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_
Память у каждого процесса своя. И нужно приложить большие усилия, чтобы из одного процесса повлиять на память в другом процессе

Тебе ж описали сценарий, когда влияние не на память, а на производительность возможно. Вполне вероятный, как по мне
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085420
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Тебе ж описали сценарий, когда влияние не на память, а на производительность возможно. Вполне вероятный, как по мне

Вопрос в том, что решающее влияние на это "фрагментации памяти" вообще и дельфового менеджера памяти в частности - крайне маловероятно.
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085425
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Тебе ж описали сценарий, когда влияние не на память, а на производительность возможно
А теперь читаем по буквам
_Vasilisk_
Память у каждого процесса своя. И нужно приложить большие усилия, чтобы из одного процесса повлиять на память в другом процессе
показываем мне слово "производительность"
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085431
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Держите файлик.
Настраиваем под свое окружение.
Запускаем n копий, пока не станет совсем худо.
Следим в Process Explorer за показателями Process Memory -> Page Faults + PF Delta
Переключаемся на другие приложения (почтовик, хром и т.д.) и активно работаем в них.
У кого SSD - будет сильно легче. Кто на HDD - будет тяжело.
Казалось бы: память виртуальная и изолированная по процессам. Но подкачку то никто не отменял. Поэтому одно гадкое приложение может солить всей системе.
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085432
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
22.07.2021 15:08, Barmaley57 пишет:
> Поэтому одно гадкое приложение может солить всей системе.

на каком железе?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085433
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

22.07.2021 15:08, Barmaley57 пишет:
> Поэтому одно гадкое приложение может солить всей системе.

на каком железе?
Теоретически - на любом
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085435
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот только у аффтара 32-х разрядное приложение, запускаемое в одном экземпляре. Оно чисто
технически никого кроме себя в своп не загонит.

Аффтар ищет под фонарём. Бессмысленно ему в этом помогать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085440
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но автор не озвучил конфигурации и загруженность машин, которые тормозят. Так что шанс еще есть!
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085442
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
22.07.2021 15:37, Barmaley57 пишет:
>
> Но автор не озвучил конфигурации и загруженность машин, которые тормозят.
> Так что шанс еще есть!

это зависит от того, на что именно вы надеетесь... ©
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085443
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Вот только у аффтара 32-х разрядное приложение, запускаемое в одном экземпляре. Оно чисто
технически никого кроме себя в своп не загонит.

Аффтар ищет под фонарём. Бессмысленно ему в этом помогать.

да, только вот результат работы этой функции:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
function _CurrentProcessMemory: Cardinal;
  var
    MemCounters: TProcessMemoryCounters;
  begin
    MemCounters.cb := SizeOf(MemCounters);
    if GetProcessMemoryInfo(GetCurrentProcess,
        @MemCounters,
        SizeOf(MemCounters)) then
      Result := MemCounters.WorkingSetSize + MemCounters.PagefileUsage
    else
      RaiseLastOSError;
  end;


выдаёт промежуточные значения далеко выходяшие за 2 (или если танцевать 3) гигабайта в рамках одного х32 приложения. А точнее доводил и до 6 гигов, далее просто не проверял.
Я потому ранее и задавал вопрос по использованию памяти разными модулями, например в ехе и ocx который этот ехе использует. Делят они общие 2гига основного приложения или у каждого свои 2 гига есть.
В этой функции ещё PageFile суммируется. Значит ли это что ограничение 2/3 гига это ограничение только физической памяти а с учётом своппинга общий объём виртуальной памяти может выходить за эти 2/3 гига в рамках одного приложения ?
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085445
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barmaley57
Но автор не озвучил конфигурации и загруженность машин, которые тормозят. Так что шанс еще есть!

там такой зоопарк, от старого хлама и всяких synology disk station и до нормальных серверов. Уже писал, больше 2000 разношерстных и разноразмерных клиентов. И на производительность понятно тянут единицы. Но это не значит что проблему можно игнорировать.
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085447
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotunВ этой функции ещё PageFile суммируется

А чего ж ты ограничился всего двумя полями-то? Взялся суммировать - суммируй всё, что есть
в TProcessMemoryCounters...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085449
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
22.07.2021 15:47, hlopotun пишет:
> например в ехе и ocx который этот ехе использует. Делят они общие 2гига основного приложения или у каждого свои 2 гига есть.

ну нельзя же так! надо же хоть буквари освоить.
память выделяется ПРОЦЕССУ.
возьми уже таки в руки ProcessExplorer.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085450
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

hlopotunВ этой функции ещё PageFile суммируется

А чего ж ты ограничился всего двумя полями-то? Взялся суммировать - суммируй всё, что есть
в TProcessMemoryCounters...


ну предложите свой вариант этой функции. Из обсуждения тут я так понял этого достаточно.
...
Рейтинг: 0 / 0
Способы борьбы с фрагментацией памяти
    #40085451
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Вот только у аффтара 32-х разрядное приложение, запускаемое в одном экземпляре. Оно чисто технически никого кроме себя в своп не загонит.
Чисто технически - может.
Если запросит больше памяти чем физически свободной - винда начтет свопировать процессы с более низким приоритетом.
...
Рейтинг: 0 / 0
25 сообщений из 65, страница 2 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Способы борьбы с фрагментацией памяти
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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