|
|
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
почему нагрузка на CPU 10 - 15%. показываю пустой Service, он работает, и он как полный с моим функционалом, так и пустой кушат 10-15% CPU, и максимально потребляет энергию по GPU и CPU. я может не знаю, может какие то ключи надо поставить антивирусником все прогнал, службу в исключения внес, служба запускается, могу остановить, перезапустить. к функционалу службы вопросов нет. вот текст: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 15:04 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
А ведь тебя предупреждали не пользоваться ProcessMessages и компанией... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 15:20 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
yemets63, добавь Sleep(100) после ProcessRequests ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 15:21 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
yemets63, так это, цикл Код: pascal 1. 2. 3. 4. шарашит без перерыва, и на 100% грузит одно ядро. Ничего удивительного. imho то же самое, что в бесконечном цикле зарядить a:=a + 0; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 15:34 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
yemets63 Код: pascal 1. 2. 3. 4. 5. 6. 7. Что это за д. вечный цикл? Зачем вообще этот бред? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 15:35 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
цикл стоит для примера, к сожалению не могу показать полный текст функционала, хотя отдельно функционал не грузит проц вообще, а как вставляю в Execute так 14%. в нем нет зацикливаний. сижу по шагам проверяю поведение функционала в Service. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 16:21 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
yemets63 отдельно функционал не грузит проц вообще Просто while True do; будет грузить точно так же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 16:33 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
когда вырезал код, немного ошибся, asutp2, спасибо за sleep я даже убрал Timer который мне не особо был нужен, и вставил в цикл, чего не было, но вставил в пример, в итоге, еле-еле службу нашел, 0% и работает очень даже классненько, раздает и получает, слышить и посылает, и всегда CPU=0%. Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 16:37 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
yemets63 когда вырезал код, немного ошибся, asutp2, спасибо за sleep я даже убрал Timer который мне не особо был нужен, и вставил в цикл, чего не было, но вставил в пример, в итоге, еле-еле службу нашел, 0% и работает очень даже классненько, раздает и получает, слышить и посылает, и всегда CPU=0%. Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 16:40 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
yemets63цикл стоит для примера, А вставка Sleep() в несуществующий цикл помогла. Чудны дела твои... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 16:45 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
YuRock> Можно их еще превентивно расставлять между строками алгоритмов. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 16:49 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
YuRock Вообще да, чем больше sleep-ов в коде - тем меньше процесс жрет процессор. Можно их еще превентивно расставлять между строками алгоритмов. А если считаешь, что использование Sleep() в связке ProcessRequests является неправильным решением для уменьшения нагрузки на проц внутри ServiceExecute, тогда расскажи свое, "правильное". Будет весьма интересно услышать, как в главном потоке без UI и минимальным внешним воздействием от ОС на сервис ты разруливаешь дележку проца))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 20:55 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
asutp2 YuRock Вообще да, чем больше sleep-ов в коде - тем меньше процесс жрет процессор. Можно их еще превентивно расставлять между строками алгоритмов. А если считаешь, что использование Sleep() в связке ProcessRequests является неправильным решением для уменьшения нагрузки на проц внутри ServiceExecute, тогда расскажи свое, "правильное". Будет весьма интересно услышать, как в главном потоке без UI и минимальным внешним воздействием от ОС на сервис ты разруливаешь дележку проца))))) 1. Я никогда не использую ServiceExecute. В ServiceStart я запускаю свой поток, в ServiceStop - убиваю его. 2. Что такое ProcessRequests - я вообще не знаю, да и знать не хочу. Ну это всё мои предпочтения. Не претендую на единственно правильные решения. Вот самое главное. Любой поток должен либо выполнять задачу, либо ждать сигнала, после которого либо завершаться, либо начинать выполнять очередную задачу. Для Sleep тут места нет. Sleep допустимо применять в 3 случаях: - Для осознанной передачи управления другому потоку (бывает такая необходимость) - Sleep( 0 ); - Для тестовых программ; - Для программ типа такой: Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 21:20 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
и так в продолжении, теперь уже SLEEP SLEEP- кстати чудная штука, в моем SERVICE я попробовал 2 решения, свои потоки и ServiceExecute с использованием sleep, мне всё одинаково, но ServiceExecute нравится больше. и так о SLEEP, почему это чудная, парадоксальная и полезная штука. году в 2004, тогда первые проекты огромные были, и я очень любил и люблю трехзвенку, и тогда уже года 4 был на DEVART, не помню как они тогда назывались, начал внедрять рабочую систему в Воркуте и на севере. Разработка нашей команды и уже пару лет проработавшая в центральном регионе России. Проблем до Воркуты не было. Но там, на севере было что то, не то спутники советские, не то интернет за счет динамомашин, а трехзвенка любит постоянный коннект. скорость низкая и постоянные паузы. что делать? Проверять обрыв коннекта, сздавать и восстанавливать транзакции, или делать пакеты для локальной работы потом их гонять и сохранять, или искать другие решения...? В итоге поехал я на север решать проблемы, Мирный, Архангельск, и т.д., да еще и зимой, и когда стал совсем замерзать, решил попробовать между вызовом метода сервера и использованием ClientDataSet вставлять sleep и всё это завернул в потоки. Так вот, при 256 Кбит с нестабильной связью это все ЗАработало. значением Sleep можно было управлять. До 2011 года работа приложений-клиентов с серверов-прилоений была безупречно, ну и функционал тоже, потом потеряли контакт с заказчиком, смена хозяина, другие правила бизнеса, "грёбанные" торги... так что sleep полезная вещь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 23:40 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
yemets63 а трехзвенка любит постоянный коннект Тут некоторые люди переходят на "трехзвенку" из-за того, что не нужен постоянный коннект... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2021, 23:56 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
yemets63 когда стал совсем замерзать, решил попробовать между вызовом метода сервера и использованием ClientDataSet вставлять sleep и всё это завернул в потоки. Так вот, при 256 Кбит с нестабильной связью это все ЗАработало. значением Sleep можно было управлять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2021, 00:11 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
YuRock1. Я никогда не использую ServiceExecute. В ServiceStart я запускаю свой поток, в ServiceStop - убиваю его. воистину! Кстати, я нашел аналогичное обсуждение, 5-летней давности, там такому же автору настучали канделябром. https://stackoverflow.com/questions/33625164/service-application-in-delphi Собственно, мораль такая, что если в ServiceExecute вызывать такой цикл, то никакой TThread не нужен. А надо наоборот - ServiceExecute не вызывать, и всё делать в TThread.Execute. Там тоже можно сделать бесконечный цикл с загрузкой 1 ядра на 100%, но это уже другой вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2021, 00:18 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
Настало время охуительных историй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2021, 00:19 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
rgreat, да по первому сообщению возникло впечатление, что автор вопроса не знает, что у него 6-ядерный проц, и как эти ядра загружаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2021, 00:27 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
Давно про трехзвенку не баяли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2021, 00:27 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
Не перевелись ещё любители запускать поток и следующей строкой ожидать его завершения... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2021, 01:20 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
YuRock Любой поток должен либо выполнять задачу, либо ждать сигнала, после которого либо завершаться, либо начинать выполнять очередную задачу. Для Sleep тут места нет. Внутри TServiceThread.Execute вызывается пользовательский код, который снаружи может получить всего 1 управляющий сигнал - terminate. Всё. Без сигнала завершения, после выполнения задачи и до перехода к следующему выполнению задачи сервис должен делиться ресурсами с другими приложениями в системе. Я так и не увидел, а каким образом это делается антогонистами sleep? kdv Кстати, я нашел аналогичное обсуждение, 5-летней давности, там такому же автору настучали канделябром. https://stackoverflow.com/questions/33625164/service-application-in-delphi Код: pascal 1. 2. 3. 4. 5. 6. Как интересно)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2021, 06:02 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
asutp2 Внутри TServiceThread.Execute Это часть кривой реализации для неофитов. Чтоб не сильно грузить их серое вещество сервисами и их внутренним миром. Считай, что это главный поток приложения. В нем sleep вреден в боевой обстановке. Захочет винда твой сервис остановить, а он спит. И так три раза. И твой сервис помечается плохим словом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2021, 09:04 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
wadman asutp2 Внутри TServiceThread.Execute Это часть кривой реализации для неофитов. Чтоб не сильно грузить их серое вещество сервисами и их внутренним миром. Считай, что это главный поток приложения. В нем sleep вреден в боевой обстановке. Захочет винда твой сервис остановить, а он спит. И так три раза. И твой сервис помечается плохим словом. Что то я ни разу не сталкивался с тем, что мой сервис не отвечал виндам и соответственно был помечен плохими словами. В своих реализациях я точно также использую доппотоки для выполнения основного функционала, а TServiceThread.Execute служит исключительно для управления дочерними потоками. А насчет неофитов, их серого вещества и прочего - это ты по своему личному опыту говоришь?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2021, 09:11 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40053326&tid=2037492]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
178ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
89ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 553ms |

| 0 / 0 |
