The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"помогите с процессами, они увеличиваются в размере"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"помогите с процессами, они увеличиваются в размере"
Сообщение от CoD emailИскать по авторуВ закладки on 11-Сен-02, 14:00  (MSK)
Привет всем. Есть такая проблема:
есть програмка, написаная на си (сервер), которая берет данные из базы MySQL каждые 30 сек, делает пересчет и заносит их обратно. Работа с базой вынесена в отдельную функцию. После выхода из функции размер занимаемый программой в памяти увеличивается. Если закоментировать обращение к базе, то размер в памяти не изменяется. Кто-нибудь помогите разобраться в чем проблема.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: помогите с процессами, они увеличиваются в размере"
Сообщение от XMan emailИскать по авторуВ закладки on 11-Сен-02, 14:55  (MSK)
А работа с базой завершается корректно ? Типа, по аналогии с postgres финиш каждому запросу и дисконнект в конце работы.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: помогите с процессами, они увеличиваются в размере"
Сообщение от CoD emailИскать по авторуВ закладки on 11-Сен-02, 15:35  (MSK)
>А работа с базой завершается корректно ? Типа, по аналогии с postgres
>финиш каждому запросу и дисконнект в конце работы.

в конце функции работа с базой завершается так: mysql_close(&mysql)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: помогите с процессами, они увеличиваются в размере"
Сообщение от Арлекин emailИскать по авторуВ закладки on 11-Сен-02, 16:06  (MSK)
Функции работы с обычно БД динамически распределяют память. После выхода из функции, даже если память освобождена (free, delete) она остается вроде как за процессом до тех пор, пока не понадобится еще кому-нибудь. Т.е. ядро знает, что память свободна, но не отдает ее какое-то время или до требования, подразумевая, что процесс может опять ее запросить - логично, если функция работы с БД будет в цикле, например. Проверить просто - сделай цикл с этой функцией, и, если память будет расть пропорционально количеству вызовов - выкини в помойку эту библиотеку, а если нет - кури. Через kstat можно узнать сколько памяти реально занимает процесс в каждый момент.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: помогите с процессами, они увеличиваются в размере"
Сообщение от CoD emailИскать по авторуВ закладки on 11-Сен-02, 19:22  (MSK)
Spasibo. Tam v konce pered close() nado bilo postavit' mysql_free_result()
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: помогите с процессами, они увеличиваются в размере"
Сообщение от J Искать по авторуВ закладки on 11-Сен-02, 20:41  (MSK)
>Spasibo. Tam v konce pered close() nado bilo postavit' mysql_free_result()


mysql_free_result надо было вызывать после каждой выборки из базы данных

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру