Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
C# FileSystemWatcher CPU usage
|
|||
|---|---|---|---|
|
#18+
Всем привет. Буду признателен если поможете решить одну проблемку... Есть FileSystemWatcher инстанс, определены для него все параметры: фильтр на один единственный файл и только на последнее изменение. При запуске приложения, использование процессора взлетает до сотни и там вольготно располагается. Тормоза дикие просто. Без него все пучком... Что за грабли? Как эта гадость вообще работет? По идее должен получать сообщения от файловой сситемы, а выглядит так будто он по таймеру сам проверяет. Код-с: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Встречал кто нибудь подбное? Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 19:07 |
|
||
|
C# FileSystemWatcher CPU usage
|
|||
|---|---|---|---|
|
#18+
Увы, толком помочь не могу, но тема интересная. Тем более, что сам несколько раз собирался его использовать, но "обошлось". Почитал google , вижу что пишут нехорошее. Norton Antivirus влияет на событие LastWrite каким-то образом, событие приходит гораздо чаще, чем надо и пр. и пр. Кстати как у Вас? Событие то нормально отрабатывает, не задваивается, не размножается ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 20:35 |
|
||
|
C# FileSystemWatcher CPU usage
|
|||
|---|---|---|---|
|
#18+
Хм... странно никогда ничего подобного не встречал... всегда все работало в пределах допустимого... _________________________________________________ Легче написать не правильную программу чем понять правильную (С) Alan Perlis ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 20:36 |
|
||
|
C# FileSystemWatcher CPU usage
|
|||
|---|---|---|---|
|
#18+
Alexey KudinovУвы, толком помочь не могу, но тема интересная. Тем более, что сам несколько раз собирался его использовать, но "обошлось". Почитал google , вижу что пишут нехорошее. Norton Antivirus влияет на событие LastWrite каким-то образом, событие приходит гораздо чаще, чем надо и пр. и пр. Кстати как у Вас? Событие то нормально отрабатывает, не задваивается, не размножается ? А вот с антивирусом вопрос интерестный... может он и есть источник проблемы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 20:37 |
|
||
|
C# FileSystemWatcher CPU usage
|
|||
|---|---|---|---|
|
#18+
Спасибо что откли Значит так... Все оказалось не совсем так. :) Точнее совсем не так. FileSystemWatcher не имел к проблеме никакого отношения. Он как и положено ожидает сообщения и обрабатывает их. А дело было вот в чем, по сообщению от системы об изменении файла(лог моего сервиса - другой процесс) открывался FIleStream, на его основе создавался StreamReader и читалась последняя запись. Дабы точно определить позицию для чтения, она запоминалась с предыдущего открытия. Далее, текущем сеансе позиция потока устанавливалась на запомненную и читалась очередная строка. Вот тут и нашлись грабли. Проц начинало колбасить именно после изменении позиции в потоке!! Поток создавался, устанавливалась позиция, происходило чтение, все закрывалось и очищалось до следующего раза(даже Gc.Collect впихнул от отчаяния:) . Проц зажаривался. Как настоящий русский программер из анекдота, плюнул и решил переписать весь класс мониторинга :). Сделал потоки приватными для класса, открываю при создании класса, закрываю в деструкторе. На событиях просто читаю следующую строку. Все летает :). НО! Читать то нужно не с начала, а последние строки, поэтому после создания потока устанавливаю текущую позицию в конец. Работает. Проц расслаблен и наслаждается жизнью. Внимание вопрос :) Почему установка позиции, ранее, при создании потоков на каждом событии, жрала столько ресурсов? Почему это продолжалось по закрытию потоков? БАГ или все-таки надо меньше пить и больше спать? Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 22:13 |
|
||
|
C# FileSystemWatcher CPU usage
|
|||
|---|---|---|---|
|
#18+
Alexey KudinovУвы, толком помочь не могу, но тема интересная. Тем более, что сам несколько раз собирался его использовать, но "обошлось". Почитал google , вижу что пишут нехорошее. Norton Antivirus влияет на событие LastWrite каким-то образом, событие приходит гораздо чаще, чем надо и пр. и пр. Кстати как у Вас? Событие то нормально отрабатывает, не задваивается, не размножается ? Никаки побочных эффектов не заметил, тот что описывал в начале оказался плодом моего воспаленного воображения. :). У меня McAfee сканит, никаких претензий с его стороны не заметил. События приходят нормально, делал простенький стресс-тест(3-4 записи в секунду) - все отследнил четко. Так что юзайте на здоровье :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 22:20 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32657882&tid=1438544]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 352ms |

| 0 / 0 |
