Я создал службу, в которой запущено 11 запланированных заданий.3 из них запланированы cron заданием (2 из них каждые 15 минут и последний каждую минуту).Эти три задачи предназначены только для мониторинга службы (проверка ehCache и ОЗУ, используемых JVM).Все другие запланированные задачи аннотируются атрибутом fixedDelay, поэтому новый поток следует запускать только в том случае, если последний завершен и прошло x раз, верно?
С http://ask.xmodulo.com/number-of-threads-process-linux.html Я нашелиз-за того, что я могу проверить количество потоков на процесс, выполнив
cat /proc/PID/status
Это привело к следующему
Name: jsvc
Umask: 0022
State: S (sleeping)
Tgid: 17263
Ngid: 0
Pid: 17263
PPid: 17260
TracerPid: 0
Uid: 99 99 99 99
Gid: 99 99 99 99
FDSize: 8192
Groups: 99 11332 16600 34691 50780 52730 52823 53043 54173
NStgid: 17263
NSpid: 17263
NSpgid: 17260
NSsid: 17260
VmPeak: 35247540 kB
VmSize: 35232620 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 5679220 kB
VmRSS: 5663344 kB
RssAnon: 5660016 kB
RssFile: 3328 kB
RssShmem: 0 kB
VmData: 32106616 kB
VmStk: 1012 kB
VmExe: 44 kB
VmLib: 16648 kB
VmPTE: 50908 kB
VmPMD: 128 kB
VmSwap: 0 kB
HugetlbPages: 0 kB
Threads: 19922
SigQ: 0/64039
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000004
SigIgn: 0000000000000000
SigCgt: 2000000181005ecf
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
Seccomp: 0
Speculation_Store_Bypass: vulnerable
Cpus_allowed: 7fff
Cpus_allowed_list: 0-14
Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 5986
nonvoluntary_ctxt_switches: 26
Итак, мой первый вопрос: что такое число «потоков»рассказывая мне?Существуют ли 19922 потока, включающие в себя завершенные потоки, или это только текущие активные потоки?
Я также удивился, почему все эти потоки в настоящее время находятся в состоянии SLEEPING ...
Я сделалграфик (# 1), который отображает текущее количество потоков для этого процесса, и я вижу, что число не только увеличивается.
Так почемуэтот номер такой волнистый?Следует ли удалять подкаталог потока после его завершения?А что с потоками с состоянием "СОН" - они закончили?Потому что мне нечего ждать ...