<html><head></head><body> <div>But I’m WELL below the 3/4 rule ..</div><div><br></div><div><blockquote class="protonmail_quote" type="cite" style="caret-color: rgb(80, 80, 97);"><div class="ydp13355d5fyahoo-style-wrap" style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;"><div dir="ltr" style="font-size: 18px;">MemTotal: 65777296 kB<br></div><div dir="ltr" style="font-size: 18px;">MemFree: 63088388 kB</div></div></blockquote>I actually have 95.9121031670259% FREE which means I’m only using around 4% of my ram!</div><br><div>Am I understanding the 3/4 wrong? </div><div><br></div><div>Thanks again<caret></caret></div><div><br></div><div id="protonmail_mobile_signature_block"><div>Sent from ProtonMail for iOS</div></div> <div><br></div><div><br></div>On Tue, Sep 28, 2021 at 21:50, Gary C. New <<a href="mailto:garycnew@yahoo.com" class="">garycnew@yahoo.com</a>> wrote:<blockquote class="protonmail_quote" type="cite"> <div class="ydp13355d5fyahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:16px;"><div></div>
<div>Bleedangel,</div><div><br></div><div>You definitely have a nice rig with 12 CPUs and 64GB of RAM. I have a bunch of 2 CPU and 256MB rigs that I loadbalance as a single relay.</div><div><br></div><div>Following David's explanation as to how the overloaded state is metered, I believe your issue is with RAM availability being over the 3/4 rule.</div><div><br></div><div><div dir="ltr" style="font-size: 18px;">MemTotal: 65777296 kB<br></div><div dir="ltr" style="font-size: 18px;">MemFree: 63088388 kB</div></div><div dir="ltr" style="font-size: 18px;"><br></div><div dir="ltr" style="font-size: 18px;">You might try freeing up RAM resources (below the 3/4 limit) and confirm whether that resolves the issue, after 72 hours.</div><div dir="ltr" style="font-size: 18px;"><br></div><div dir="ltr" style="font-size: 18px;">Personally, I think a better approach would be to have the upstream relay monitor and report overloaded states, but I only know so much about Tor.</div><div dir="ltr" style="font-size: 18px;"><br></div><div dir="ltr" style="font-size: 18px;">Hope this helps.</div><div dir="ltr" style="font-size: 18px;"><br></div><div dir="ltr" style="font-size: 18px;">Respectfully,</div><div dir="ltr" style="font-size: 18px;"><br></div><div dir="ltr" style="font-size: 18px;"><br></div><div dir="ltr" style="font-size: 18px;">Gary</div><div dir="ltr" style="font-size: 18px;"><br></div><div><br></div>
<div id="ydp13355d5fyahoo_quoted_2942121184" class="ydp13355d5fyahoo_quoted">
<div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
<div>
On Tuesday, September 28, 2021, 10:28:42 AM PDT, Bleedangel Tor Admin <tor@bleedangel.com> wrote:
</div>
<div><br></div>
<div><br></div>
<div><div dir="ltr">-----BEGIN PGP SIGNED MESSAGE-----<br></div><div dir="ltr">Hash: SHA512<br></div><div dir="ltr"><br></div><div dir="ltr">I am having a lot of trouble figuring out why my relay keeps showing as overloaded on the search page. I believe I have more than enough memory and cpu power to not be overloaded on hardware. My server internet connection is 10GB up/down unmetered.<br></div><div dir="ltr"><br></div><div dir="ltr">I cannot for the life of me figure out why the relay search page continuously tells me i am overloaded. <br></div><div dir="ltr">Can someone assist me in troubleshooting this?<br></div><div dir="ltr"><br></div><div dir="ltr">Thank you. Pertinent hardware information is pasted below:<br></div><div dir="ltr"><br></div><div dir="ltr">output of /proc/meminfo:<br></div><div dir="ltr"><br></div><div dir="ltr">--[ BEGIN PASTE ]--<br></div><div dir="ltr"><br></div><div dir="ltr">MemTotal: 65777296 kB<br></div><div dir="ltr">MemFree: 63088388 kB<br></div><div dir="ltr">MemAvailable: 63415088 kB<br></div><div dir="ltr">Buffers: 180096 kB<br></div><div dir="ltr">Cached: 736396 kB<br></div><div dir="ltr">SwapCached: 0 kB<br></div><div dir="ltr">Active: 449428 kB<br></div><div dir="ltr">Inactive: 1729304 kB<br></div><div dir="ltr">Active(anon): 14552 kB<br></div><div dir="ltr">Inactive(anon): 1292048 kB<br></div><div dir="ltr">Active(file): 434876 kB<br></div><div dir="ltr">Inactive(file): 437256 kB<br></div><div dir="ltr">Unevictable: 0 kB<br></div><div dir="ltr">Mlocked: 0 kB<br></div><div dir="ltr">SwapTotal: 33520636 kB<br></div><div dir="ltr">SwapFree: 33520636 kB<br></div><div dir="ltr">Dirty: 236 kB<br></div><div dir="ltr">Writeback: 0 kB<br></div><div dir="ltr">AnonPages: 1262300 kB<br></div><div dir="ltr">Mapped: 273164 kB<br></div><div dir="ltr">Shmem: 48592 kB<br></div><div dir="ltr">KReclaimable: 94828 kB<br></div><div dir="ltr">Slab: 204624 kB<br></div><div dir="ltr">SReclaimable: 94828 kB<br></div><div dir="ltr">SUnreclaim: 109796 kB<br></div><div dir="ltr">KernelStack: 5040 kB<br></div><div dir="ltr">PageTables: 9308 kB<br></div><div dir="ltr">NFS_Unstable: 0 kB<br></div><div dir="ltr">Bounce: 0 kB<br></div><div dir="ltr">WritebackTmp: 0 kB<br></div><div dir="ltr">CommitLimit: 66409284 kB<br></div><div dir="ltr">Committed_AS: 2374432 kB<br></div><div dir="ltr">VmallocTotal: 34359738367 kB<br></div><div dir="ltr">VmallocUsed: 34348 kB<br></div><div dir="ltr">VmallocChunk: 0 kB<br></div><div dir="ltr">Percpu: 16384 kB<br></div><div dir="ltr">HardwareCorrupted: 0 kB<br></div><div dir="ltr">AnonHugePages: 0 kB<br></div><div dir="ltr">ShmemHugePages: 0 kB<br></div><div dir="ltr">ShmemPmdMapped: 0 kB<br></div><div dir="ltr">FileHugePages: 0 kB<br></div><div dir="ltr">FilePmdMapped: 0 kB<br></div><div dir="ltr">CmaTotal: 0 kB<br></div><div dir="ltr">CmaFree: 0 kB<br></div><div dir="ltr">HugePages_Total: 0<br></div><div dir="ltr">HugePages_Free: 0<br></div><div dir="ltr">HugePages_Rsvd: 0<br></div><div dir="ltr">HugePages_Surp: 0<br></div><div dir="ltr">Hugepagesize: 2048 kB<br></div><div dir="ltr">Hugetlb: 0 kB<br></div><div dir="ltr">DirectMap4k: 332988 kB<br></div><div dir="ltr">DirectMap2M: 7981056 kB<br></div><div dir="ltr">DirectMap1G: 58720256 kB<br></div><div dir="ltr">--[ END PASTE ]--<br></div><div dir="ltr"><br></div><div dir="ltr">output of /proc/cpuinfo:<br></div><div dir="ltr"><br></div><div dir="ltr">--[ BEGIN PASTE ]--<br></div><div dir="ltr">processor : 0<br></div><div dir="ltr">vendor_id : AuthenticAMD<br></div><div dir="ltr">cpu family : 23<br></div><div dir="ltr">model : 113<br></div><div dir="ltr">model name : AMD Ryzen 5 3600 6-Core Processor<br></div><div dir="ltr">stepping : 0<br></div><div dir="ltr">microcode : 0x8701021<br></div><div dir="ltr">cpu MHz : 2200.000<br></div><div dir="ltr">cache size : 512 KB<br></div><div dir="ltr">physical id : 0<br></div><div dir="ltr">siblings : 12<br></div><div dir="ltr">core id : 0<br></div><div dir="ltr">cpu cores : 6<br></div><div dir="ltr">apicid : 0<br></div><div dir="ltr">initial apicid : 0<br></div><div dir="ltr">fpu : yes<br></div><div dir="ltr">fpu_exception : yes<br></div><div dir="ltr">cpuid level : 16<br></div><div dir="ltr">wp : yes<br></div><div dir="ltr">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es<br></div><div dir="ltr">bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass<br></div><div dir="ltr">bogomips : 7202.22<br></div><div dir="ltr">TLB size : 3072 4K pages<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">cache_alignment : 64<br></div><div dir="ltr">address sizes : 43 bits physical, 48 bits virtual<br></div><div dir="ltr">power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]<br></div><div dir="ltr"><br></div><div dir="ltr">processor : 1<br></div><div dir="ltr">vendor_id : AuthenticAMD<br></div><div dir="ltr">cpu family : 23<br></div><div dir="ltr">model : 113<br></div><div dir="ltr">model name : AMD Ryzen 5 3600 6-Core Processor<br></div><div dir="ltr">stepping : 0<br></div><div dir="ltr">microcode : 0x8701021<br></div><div dir="ltr">cpu MHz : 2200.000<br></div><div dir="ltr">cache size : 512 KB<br></div><div dir="ltr">physical id : 0<br></div><div dir="ltr">siblings : 12<br></div><div dir="ltr">core id : 1<br></div><div dir="ltr">cpu cores : 6<br></div><div dir="ltr">apicid : 2<br></div><div dir="ltr">initial apicid : 2<br></div><div dir="ltr">fpu : yes<br></div><div dir="ltr">fpu_exception : yes<br></div><div dir="ltr">cpuid level : 16<br></div><div dir="ltr">wp : yes<br></div><div dir="ltr">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es<br></div><div dir="ltr">bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass<br></div><div dir="ltr">bogomips : 7202.22<br></div><div dir="ltr">TLB size : 3072 4K pages<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">cache_alignment : 64<br></div><div dir="ltr">address sizes : 43 bits physical, 48 bits virtual<br></div><div dir="ltr">power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]<br></div><div dir="ltr"><br></div><div dir="ltr">processor : 2<br></div><div dir="ltr">vendor_id : AuthenticAMD<br></div><div dir="ltr">cpu family : 23<br></div><div dir="ltr">model : 113<br></div><div dir="ltr">model name : AMD Ryzen 5 3600 6-Core Processor<br></div><div dir="ltr">stepping : 0<br></div><div dir="ltr">microcode : 0x8701021<br></div><div dir="ltr">cpu MHz : 2200.000<br></div><div dir="ltr">cache size : 512 KB<br></div><div dir="ltr">physical id : 0<br></div><div dir="ltr">siblings : 12<br></div><div dir="ltr">core id : 2<br></div><div dir="ltr">cpu cores : 6<br></div><div dir="ltr">apicid : 4<br></div><div dir="ltr">initial apicid : 4<br></div><div dir="ltr">fpu : yes<br></div><div dir="ltr">fpu_exception : yes<br></div><div dir="ltr">cpuid level : 16<br></div><div dir="ltr">wp : yes<br></div><div dir="ltr">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid<br></div><div dir="ltr">extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs sk<br></div><div dir="ltr">init wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsav<br></div><div dir="ltr">eopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter<br></div><div dir="ltr">pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es<br></div><div dir="ltr">bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass<br></div><div dir="ltr">bogomips : 7202.22<br></div><div dir="ltr">TLB size : 3072 4K pages<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">cache_alignment : 64<br></div><div dir="ltr">address sizes : 43 bits physical, 48 bits virtual<br></div><div dir="ltr">power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]<br></div><div dir="ltr"><br></div><div dir="ltr">processor : 3<br></div><div dir="ltr">vendor_id : AuthenticAMD<br></div><div dir="ltr">cpu family : 23<br></div><div dir="ltr">model : 113<br></div><div dir="ltr">model name : AMD Ryzen 5 3600 6-Core Processor<br></div><div dir="ltr">stepping : 0<br></div><div dir="ltr">microcode : 0x8701021<br></div><div dir="ltr">cpu MHz : 2199.014<br></div><div dir="ltr">cache size : 512 KB<br></div><div dir="ltr">physical id : 0<br></div><div dir="ltr">siblings : 12<br></div><div dir="ltr">core id : 4<br></div><div dir="ltr">cpu cores : 6<br></div><div dir="ltr">apicid : 8<br></div><div dir="ltr">initial apicid : 8<br></div><div dir="ltr">fpu : yes<br></div><div dir="ltr">fpu_exception : yes<br></div><div dir="ltr">cpuid level : 16<br></div><div dir="ltr">wp : yes<br></div><div dir="ltr">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid<br></div><div dir="ltr">extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs sk<br></div><div dir="ltr">init wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsav<br></div><div dir="ltr">eopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter<br></div><div dir="ltr">pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es<br></div><div dir="ltr">bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass<br></div><div dir="ltr">bogomips : 7202.22<br></div><div dir="ltr">TLB size : 3072 4K pages<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">cache_alignment : 64<br></div><div dir="ltr">address sizes : 43 bits physical, 48 bits virtual<br></div><div dir="ltr">power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]<br></div><div dir="ltr"><br></div><div dir="ltr">processor : 4<br></div><div dir="ltr">vendor_id : AuthenticAMD<br></div><div dir="ltr">cpu family : 23<br></div><div dir="ltr">model : 113<br></div><div dir="ltr">model name : AMD Ryzen 5 3600 6-Core Processor<br></div><div dir="ltr">stepping : 0<br></div><div dir="ltr">microcode : 0x8701021<br></div><div dir="ltr">cpu MHz : 2200.000<br></div><div dir="ltr">cache size : 512 KB<br></div><div dir="ltr">physical id : 0<br></div><div dir="ltr">siblings : 12<br></div><div dir="ltr">core id : 5<br></div><div dir="ltr">cpu cores : 6<br></div><div dir="ltr">apicid : 10<br></div><div dir="ltr">initial apicid : 10<br></div><div dir="ltr">fpu : yes<br></div><div dir="ltr">fpu_exception : yes<br></div><div dir="ltr">cpuid level : 16<br></div><div dir="ltr">wp : yes<br></div><div dir="ltr">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid<br></div><div dir="ltr">extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs sk<br></div><div dir="ltr">init wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsav<br></div><div dir="ltr">eopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter<br></div><div dir="ltr">pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es<br></div><div dir="ltr">bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass<br></div><div dir="ltr">bogomips : 7202.22<br></div><div dir="ltr">TLB size : 3072 4K pages<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">cache_alignment : 64<br></div><div dir="ltr">address sizes : 43 bits physical, 48 bits virtual<br></div><div dir="ltr">power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]<br></div><div dir="ltr"><br></div><div dir="ltr">processor : 5<br></div><div dir="ltr">vendor_id : AuthenticAMD<br></div><div dir="ltr">cpu family : 23<br></div><div dir="ltr">model : 113<br></div><div dir="ltr">model name : AMD Ryzen 5 3600 6-Core Processor<br></div><div dir="ltr">stepping : 0<br></div><div dir="ltr">microcode : 0x8701021<br></div><div dir="ltr">cpu MHz : 2200.000<br></div><div dir="ltr">cache size : 512 KB<br></div><div dir="ltr">physical id : 0<br></div><div dir="ltr">siblings : 12<br></div><div dir="ltr">core id : 6<br></div><div dir="ltr">cpu cores : 6<br></div><div dir="ltr">apicid : 12<br></div><div dir="ltr">initial apicid : 12<br></div><div dir="ltr">fpu : yes<br></div><div dir="ltr">fpu_exception : yes<br></div><div dir="ltr">cpuid level : 16<br></div><div dir="ltr">wp : yes<br></div><div dir="ltr">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid<br></div><div dir="ltr">extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs sk<br></div><div dir="ltr">init wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsav<br></div><div dir="ltr">eopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter<br></div><div dir="ltr">pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es<br></div><div dir="ltr">bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass<br></div><div dir="ltr">bogomips : 7202.22<br></div><div dir="ltr">TLB size : 3072 4K pages<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">cache_alignment : 64<br></div><div dir="ltr">address sizes : 43 bits physical, 48 bits virtual<br></div><div dir="ltr">power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]<br></div><div dir="ltr"><br></div><div dir="ltr">processor : 6<br></div><div dir="ltr">vendor_id : AuthenticAMD<br></div><div dir="ltr">cpu family : 23<br></div><div dir="ltr">model : 113<br></div><div dir="ltr">model name : AMD Ryzen 5 3600 6-Core Processor<br></div><div dir="ltr">stepping : 0<br></div><div dir="ltr">microcode : 0x8701021<br></div><div dir="ltr">cpu MHz : 2200.000<br></div><div dir="ltr">cache size : 512 KB<br></div><div dir="ltr">physical id : 0<br></div><div dir="ltr">siblings : 12<br></div><div dir="ltr">core id : 0<br></div><div dir="ltr">cpu cores : 6<br></div><div dir="ltr">apicid : 1<br></div><div dir="ltr">initial apicid : 1<br></div><div dir="ltr">fpu : yes<br></div><div dir="ltr">fpu_exception : yes<br></div><div dir="ltr">cpuid level : 16<br></div><div dir="ltr">wp : yes<br></div><div dir="ltr">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid<br></div><div dir="ltr">extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs sk<br></div><div dir="ltr">init wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsav<br></div><div dir="ltr">eopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter<br></div><div dir="ltr">pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es<br></div><div dir="ltr">bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass<br></div><div dir="ltr">bogomips : 7202.22<br></div><div dir="ltr">TLB size : 3072 4K pages<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">cache_alignment : 64<br></div><div dir="ltr">address sizes : 43 bits physical, 48 bits virtual<br></div><div dir="ltr">power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]<br></div><div dir="ltr"><br></div><div dir="ltr">processor : 7<br></div><div dir="ltr">vendor_id : AuthenticAMD<br></div><div dir="ltr">cpu family : 23<br></div><div dir="ltr">model : 113<br></div><div dir="ltr">model name : AMD Ryzen 5 3600 6-Core Processor<br></div><div dir="ltr">stepping : 0<br></div><div dir="ltr">microcode : 0x8701021<br></div><div dir="ltr">cpu MHz : 2199.809<br></div><div dir="ltr">cache size : 512 KB<br></div><div dir="ltr">physical id : 0<br></div><div dir="ltr">siblings : 12<br></div><div dir="ltr">core id : 1<br></div><div dir="ltr">cpu cores : 6<br></div><div dir="ltr">apicid : 3<br></div><div dir="ltr">initial apicid : 3<br></div><div dir="ltr">fpu : yes<br></div><div dir="ltr">fpu_exception : yes<br></div><div dir="ltr">cpuid level : 16<br></div><div dir="ltr">wp : yes<br></div><div dir="ltr">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid<br></div><div dir="ltr">extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs sk<br></div><div dir="ltr">init wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsav<br></div><div dir="ltr">eopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter<br></div><div dir="ltr">pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es<br></div><div dir="ltr">bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass<br></div><div dir="ltr">bogomips : 7202.22<br></div><div dir="ltr">TLB size : 3072 4K pages<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">cache_alignment : 64<br></div><div dir="ltr">address sizes : 43 bits physical, 48 bits virtual<br></div><div dir="ltr">power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]<br></div><div dir="ltr"><br></div><div dir="ltr">processor : 8<br></div><div dir="ltr">vendor_id : AuthenticAMD<br></div><div dir="ltr">cpu family : 23<br></div><div dir="ltr">model : 113<br></div><div dir="ltr">model name : AMD Ryzen 5 3600 6-Core Processor<br></div><div dir="ltr">stepping : 0<br></div><div dir="ltr">microcode : 0x8701021<br></div><div dir="ltr">cpu MHz : 2200.000<br></div><div dir="ltr">cache size : 512 KB<br></div><div dir="ltr">physical id : 0<br></div><div dir="ltr">siblings : 12<br></div><div dir="ltr">core id : 2<br></div><div dir="ltr">cpu cores : 6<br></div><div dir="ltr">apicid : 5<br></div><div dir="ltr">initial apicid : 5<br></div><div dir="ltr">fpu : yes<br></div><div dir="ltr">fpu_exception : yes<br></div><div dir="ltr">cpuid level : 16<br></div><div dir="ltr">wp : yes<br></div><div dir="ltr">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid<br></div><div dir="ltr">extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs sk<br></div><div dir="ltr">init wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsav<br></div><div dir="ltr">eopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter<br></div><div dir="ltr">pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es<br></div><div dir="ltr">bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass<br></div><div dir="ltr">bogomips : 7202.22<br></div><div dir="ltr">TLB size : 3072 4K pages<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">cache_alignment : 64<br></div><div dir="ltr">address sizes : 43 bits physical, 48 bits virtual<br></div><div dir="ltr">power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]<br></div><div dir="ltr"><br></div><div dir="ltr">processor : 9<br></div><div dir="ltr">vendor_id : AuthenticAMD<br></div><div dir="ltr">cpu family : 23<br></div><div dir="ltr">model : 113<br></div><div dir="ltr">model name : AMD Ryzen 5 3600 6-Core Processor<br></div><div dir="ltr">stepping : 0<br></div><div dir="ltr">microcode : 0x8701021<br></div><div dir="ltr">cpu MHz : 2199.644<br></div><div dir="ltr">cache size : 512 KB<br></div><div dir="ltr">physical id : 0<br></div><div dir="ltr">siblings : 12<br></div><div dir="ltr">core id : 4<br></div><div dir="ltr">cpu cores : 6<br></div><div dir="ltr">apicid : 9<br></div><div dir="ltr">initial apicid : 9<br></div><div dir="ltr">fpu : yes<br></div><div dir="ltr">fpu_exception : yes<br></div><div dir="ltr">cpuid level : 16<br></div><div dir="ltr">wp : yes<br></div><div dir="ltr">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid<br></div><div dir="ltr">extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs sk<br></div><div dir="ltr">init wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsav<br></div><div dir="ltr">eopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter<br></div><div dir="ltr">pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es<br></div><div dir="ltr">bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass<br></div><div dir="ltr">bogomips : 7202.22<br></div><div dir="ltr">TLB size : 3072 4K pages<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">cache_alignment : 64<br></div><div dir="ltr">address sizes : 43 bits physical, 48 bits virtual<br></div><div dir="ltr">power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]<br></div><div dir="ltr"><br></div><div dir="ltr">processor : 10<br></div><div dir="ltr">vendor_id : AuthenticAMD<br></div><div dir="ltr">cpu family : 23<br></div><div dir="ltr">model : 113<br></div><div dir="ltr">model name : AMD Ryzen 5 3600 6-Core Processor<br></div><div dir="ltr">stepping : 0<br></div><div dir="ltr">microcode : 0x8701021<br></div><div dir="ltr">cpu MHz : 2200.000<br></div><div dir="ltr">cache size : 512 KB<br></div><div dir="ltr">physical id : 0<br></div><div dir="ltr">siblings : 12<br></div><div dir="ltr">core id : 5<br></div><div dir="ltr">cpu cores : 6<br></div><div dir="ltr">apicid : 11<br></div><div dir="ltr">initial apicid : 11<br></div><div dir="ltr">fpu : yes<br></div><div dir="ltr">fpu_exception : yes<br></div><div dir="ltr">cpuid level : 16<br></div><div dir="ltr">wp : yes<br></div><div dir="ltr">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid<br></div><div dir="ltr">extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs sk<br></div><div dir="ltr">init wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsav<br></div><div dir="ltr">eopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter<br></div><div dir="ltr">pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es<br></div><div dir="ltr">bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass<br></div><div dir="ltr">bogomips : 7202.22<br></div><div dir="ltr">TLB size : 3072 4K pages<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">cache_alignment : 64<br></div><div dir="ltr">address sizes : 43 bits physical, 48 bits virtual<br></div><div dir="ltr">power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]<br></div><div dir="ltr"><br></div><div dir="ltr">processor : 11<br></div><div dir="ltr">vendor_id : AuthenticAMD<br></div><div dir="ltr">cpu family : 23<br></div><div dir="ltr">model : 113<br></div><div dir="ltr">model name : AMD Ryzen 5 3600 6-Core Processor<br></div><div dir="ltr">stepping : 0<br></div><div dir="ltr">microcode : 0x8701021<br></div><div dir="ltr">cpu MHz : 2200.000<br></div><div dir="ltr">cache size : 512 KB<br></div><div dir="ltr">physical id : 0<br></div><div dir="ltr">siblings : 12<br></div><div dir="ltr">core id : 6<br></div><div dir="ltr">cpu cores : 6<br></div><div dir="ltr">apicid : 13<br></div><div dir="ltr">initial apicid : 13<br></div><div dir="ltr">fpu : yes<br></div><div dir="ltr">fpu_exception : yes<br></div><div dir="ltr">cpuid level : 16<br></div><div dir="ltr">wp : yes<br></div><div dir="ltr">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter<br></div><div dir="ltr">pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es<br></div><div dir="ltr">bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass<br></div><div dir="ltr">bogomips : 7202.22<br></div><div dir="ltr">TLB size : 3072 4K pages<br></div><div dir="ltr">clflush size : 64<br></div><div dir="ltr">cache_alignment : 64<br></div><div dir="ltr">address sizes : 43 bits physical, 48 bits virtual<br></div><div dir="ltr">power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]<br></div><div dir="ltr"><br></div><div dir="ltr">--[END PASTE]--<br></div><div dir="ltr"><br></div><div dir="ltr">‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br></div><div dir="ltr">On Tuesday, September 28th, 2021 at 11:31 AM, Gary C. New via tor-relays <<a href="mailto:tor-relays@lists.torproject.org" rel="nofollow">tor-relays@lists.torproject.org</a>> wrote:<br></div><div dir="ltr"><br></div><div dir="ltr">> David,<br></div><div dir="ltr">><br></div><div dir="ltr">> This is exactly the type of information I was hoping for. You should make this an article and link it to the overloaded support page.<br></div><div dir="ltr">><br></div><div dir="ltr">> I guess I assumed that Tor preformed external timeout monitoring apposed to relay reported resource monitoring.<br></div><div dir="ltr">><br></div><div dir="ltr">> It's interesting that you mention loadbalancing Tor as that is precisely what my recent efforts have been geared toward.<br></div><div dir="ltr">><br></div><div dir="ltr">> I'm fairly confident that my last overloaded state was due to migrating one of my Tor relay nodes onto a previously provisioned BotFarm node and forgetting to kill the existing bot processes; thus, having competing resources. I can confirm that when loadbalancing Tor relay nodes that the whole is only as good as the weakest link; thus, it's important to have identical Tor relay nodes to evenly distribute circuits and maintain consensus.<br></div><div dir="ltr">><br></div><div dir="ltr">> In this paradigm, I was hoping to be able to define a timeout value associated with the overloaded state and tune the loadbalancer to redistribute to different upstream nodes should a Tor relay node reach such a value. However, it seems this is a moot point, after reading your summary of the reporting process.<br></div><div dir="ltr">><br></div><div dir="ltr">> At present, I have the upstream, loadbalancing timeout values disabled and let the Tor nodes build or teardown circuits based on available resources per node. I do see spikes alternate through various nodes throughout the day. It would be nice to find an upstream timeout value to better manage those spikes.<br></div><div dir="ltr">><br></div><div dir="ltr">> Any recommendations would be greatly appreciated.<br></div><div dir="ltr">><br></div><div dir="ltr">> Respectfully,<br></div><div dir="ltr">><br></div><div dir="ltr">> Gary<br></div><div dir="ltr">><br></div><div dir="ltr">> P.S. This is all being done on ASUSWRT-Merlin using AiMesh nodes, but isn't limited to that architecture. I hope to publish a tutorial, after ironing out all the kinks.<br></div><div dir="ltr">><br></div><div dir="ltr">> On Tuesday, September 28, 2021, 7:01:04 AM MDT, David Goulet <<a href="mailto:dgoulet@torproject.org" rel="nofollow">dgoulet@torproject.org</a>> wrote:<br></div><div dir="ltr">><br></div><div dir="ltr">> On 27 Sep (14:23:34), Gary C. New via tor-relays wrote:<br></div><div dir="ltr">><br></div><div dir="ltr">> > George,<br></div><div dir="ltr">><br></div><div dir="ltr">> > The referenced support article provides recommendations as to what might be<br></div><div dir="ltr">><br></div><div dir="ltr">> > causing the overloaded state, but it doesn't provide the metric(s) for how<br></div><div dir="ltr">><br></div><div dir="ltr">> > Tor decides whether a relay is overloaded. I'm trying to ascertain the<br></div><div dir="ltr">><br></div><div dir="ltr">> > later. I would assume the overloaded state metric(S) is/are a maximum<br></div><div dir="ltr">><br></div><div dir="ltr">> > timeout value and/or reoccurrence value, etc. By knowing what the<br></div><div dir="ltr">><br></div><div dir="ltr">> > overloaded state metric is, I can tune my Tor relay just short of it. Thank<br></div><div dir="ltr">><br></div><div dir="ltr">> > you for your reply. Respectfully,<br></div><div dir="ltr">><br></div><div dir="ltr">> Hi Gary!<br></div><div dir="ltr">><br></div><div dir="ltr">> I'll try to answer the best I can from what we've have worked on for these<br></div><div dir="ltr">><br></div><div dir="ltr">> overload metrics.<br></div><div dir="ltr">><br></div><div dir="ltr">> Essentially, there few places within a Tor relay that we can easily notice an<br></div><div dir="ltr">><br></div><div dir="ltr">> "overloaded" state. I'll list them and tell you how we decide:<br></div><div dir="ltr">><br></div><div dir="ltr">> 1. Out-Of-Memory invocation<br></div><div dir="ltr">><br></div><div dir="ltr">> Tor has its own OOM and it is invoked when 75% of the total memory tor<br></div><div dir="ltr">><br></div><div dir="ltr">> thinks it can use is reached. Thus, let say tor thinks it can use 2GB in<br></div><div dir="ltr">><br></div><div dir="ltr">> total then at 1.5GB of memory usage, it will start freeing memory. That, is<br></div><div dir="ltr">><br></div><div dir="ltr">> considered an overload state.<br></div><div dir="ltr">><br></div><div dir="ltr">> Now the real question here is what is the memory "tor thinks" it has.<br></div><div dir="ltr">><br></div><div dir="ltr">> Unfortunately, it is not the greatest estimation but that is what it is.<br></div><div dir="ltr">><br></div><div dir="ltr">> When tor starts, it will use MaxMemInQueues for that value or will look at<br></div><div dir="ltr">><br></div><div dir="ltr">> the total RAM available on the system and apply this algorithm:<br></div><div dir="ltr">><br></div><div dir="ltr">> if RAM >= 8GB {<br></div><div dir="ltr">><br></div><div dir="ltr">> memory = RAM * 40%<br></div><div dir="ltr">><br></div><div dir="ltr">> } else {<br></div><div dir="ltr">><br></div><div dir="ltr">> memory = RAM * 75%<br></div><div dir="ltr">><br></div><div dir="ltr">> }<br></div><div dir="ltr">><br></div><div dir="ltr">> /* Capped. */<br></div><div dir="ltr">><br></div><div dir="ltr">> memory = min(memory, 8GB) -> [8GB on 64bit and 2GB on 32bit)<br></div><div dir="ltr">><br></div><div dir="ltr">> /* Minimum value. */<br></div><div dir="ltr">><br></div><div dir="ltr">> memory = max(250MB, memory)<br></div><div dir="ltr">><br></div><div dir="ltr">> Why we picked those numbers, I can't tell you that, these come from the very<br></div><div dir="ltr">><br></div><div dir="ltr">> early days of the tor software and I can't tell you why.<br></div><div dir="ltr">><br></div><div dir="ltr">> And so to avoid such overload state, clearly run a relay above 2GB of RAM on<br></div><div dir="ltr">><br></div><div dir="ltr">> 64bit should be the bare minimum in my opinion. 4GB would be much much<br></div><div dir="ltr">><br></div><div dir="ltr">> better. In DDoS circumstances, there is a whole lot of memory pressure.<br></div><div dir="ltr">><br></div><div dir="ltr">> One keen observer can notice that this approach also has the problem that it<br></div><div dir="ltr">><br></div><div dir="ltr">> doesn't shield tor from being called by the OS OOM itself. Reason is that<br></div><div dir="ltr">><br></div><div dir="ltr">> because we take the total memory on the system when tor starts, if the<br></div><div dir="ltr">><br></div><div dir="ltr">> overall system has many other applications running using RAM, we end up<br></div><div dir="ltr">><br></div><div dir="ltr">> eating too much memory and the OS could OOM tor without tor even noticing<br></div><div dir="ltr">><br></div><div dir="ltr">> memory pressure. Fortunately, this is not a problem affecting the overload<br></div><div dir="ltr">><br></div><div dir="ltr">> status situation.<br></div><div dir="ltr">><br></div><div dir="ltr">> 2. Onionskins processing<br></div><div dir="ltr">><br></div><div dir="ltr">> Tor is sadly single threaded _except_ for when the "onion skins" are<br></div><div dir="ltr">><br></div><div dir="ltr">> processed that is the cryptographic work that needs to be done on the famous<br></div><div dir="ltr">><br></div><div dir="ltr">> "onion layers" in every circuits.<br></div><div dir="ltr">><br></div><div dir="ltr">> For that we have a thread pool and outsource all of that work to that pool.<br></div><div dir="ltr">><br></div><div dir="ltr">> It can happen that this pool starts dropping work due to back pressure and<br></div><div dir="ltr">><br></div><div dir="ltr">> that in turn is an overload state.<br></div><div dir="ltr">><br></div><div dir="ltr">> Why this can happen, essentially CPU pressure. If your server is running at<br></div><div dir="ltr">><br></div><div dir="ltr">> capacity and it is not only your tor, then this is likely to trigger.<br></div><div dir="ltr">><br></div><div dir="ltr">> 3. DNS Timeout<br></div><div dir="ltr">><br></div><div dir="ltr">> This applies only to Exits. If tor starts noticing DNS timeouts, you'll get<br></div><div dir="ltr">><br></div><div dir="ltr">> the overload flag. This might not be because your relay is overloaded in<br></div><div dir="ltr">><br></div><div dir="ltr">> terms of resources but it signals a problem on the network.<br></div><div dir="ltr">><br></div><div dir="ltr">> And DNS timeouts at the Exits are a _huge_ UX problem for tor users and so<br></div><div dir="ltr">><br></div><div dir="ltr">> Exit operators really need to be on top of those to help. It is not clear<br></div><div dir="ltr">><br></div><div dir="ltr">> with the overload line but at least if an operator notices the overload<br></div><div dir="ltr">><br></div><div dir="ltr">> line, it can then investigate DNS timeouts in case there is no resources<br></div><div dir="ltr">><br></div><div dir="ltr">> pressure.<br></div><div dir="ltr">><br></div><div dir="ltr">> 4. TCP port exhaustion<br></div><div dir="ltr">><br></div><div dir="ltr">> This should be extremely rare though. The idea about this one is that you<br></div><div dir="ltr">><br></div><div dir="ltr">> ran out of TCP ports which is a range that is usually, on Linux, 32768-60999<br></div><div dir="ltr">><br></div><div dir="ltr">> and so having that many connections would lead to the overload state.<br></div><div dir="ltr">><br></div><div dir="ltr">> However, I think (I might be wrong though) that nowadays this range is per<br></div><div dir="ltr">><br></div><div dir="ltr">> source IP and not process wide so it would likely have to be deliberate from<br></div><div dir="ltr">><br></div><div dir="ltr">> someone to put your relay in that state.<br></div><div dir="ltr">><br></div><div dir="ltr">> There are two other overload lines that tor relay report:<br></div><div dir="ltr">><br></div><div dir="ltr">> "overload-ratelimits" and "overload-fd-exhausted" but they are not used yet<br></div><div dir="ltr">><br></div><div dir="ltr">> for the overload status on Metrics. But you can find them in your relay<br></div><div dir="ltr">><br></div><div dir="ltr">> descriptor[0] if you are curious.<br></div><div dir="ltr">><br></div><div dir="ltr">> They are about when your relay reaches its connection global limit too often<br></div><div dir="ltr">><br></div><div dir="ltr">> and when your relay runs out of file descriptors.<br></div><div dir="ltr">><br></div><div dir="ltr">> Hope this helps but overall as you can see, a lot of factor can influence<br></div><div dir="ltr">><br></div><div dir="ltr">> these metrics and so the ideal ideal ideal situation for a tor relay is that<br></div><div dir="ltr">><br></div><div dir="ltr">> it runs alone on a fairly good machine. Any kinds of pullback from a tor relay<br></div><div dir="ltr">><br></div><div dir="ltr">> like being overloaded has cascading effects on the network both in terms of UX<br></div><div dir="ltr">><br></div><div dir="ltr">> but also in terms of load balancing which tor is not yet very good at (but we<br></div><div dir="ltr">><br></div><div dir="ltr">> are working on hard on making it much better!!).<br></div><div dir="ltr">><br></div><div dir="ltr">> Cheers!<br></div><div dir="ltr">><br></div><div dir="ltr">> David<br></div><div dir="ltr">><br></div><div dir="ltr">> [0]<br></div><div dir="ltr">><br></div><div dir="ltr">> <a href="https://collector.torproject.org/recent/relay-descriptors/server-descriptors/?C=M;O=D" rel="nofollow">https://collector.torproject.org/recent/relay-descriptors/server-descriptors/?C=M;O=D</a><br></div><div dir="ltr">><br></div><div dir="ltr">> --<br></div><div dir="ltr">><br></div><div dir="ltr">> +7Xz1XCshqTyudrO7K4kGBEl+NghDNbqiTGYZpSOw4U=<br></div><div dir="ltr">><br></div><div dir="ltr">> _______________________________________________<br></div><div dir="ltr">><br></div><div dir="ltr">> tor-relays mailing list<br></div><div dir="ltr">><br></div><div dir="ltr">> <a href="mailto:tor-relays@lists.torproject.org" rel="nofollow">tor-relays@lists.torproject.org</a><br></div><div dir="ltr">><br></div><div dir="ltr">> <a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays" rel="nofollow">https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays</a><br></div><div dir="ltr">-----BEGIN PGP SIGNATURE-----<br></div><div dir="ltr">Version: ProtonMail<br></div><div dir="ltr"><br></div><div dir="ltr">wnUEARYKAAYFAmFTUJgAIQkQ07hp34FMyg4WIQSgEMifmnN5ohFWvfnTuGnf<br></div><div dir="ltr">gUzKDjtGAP0VaRiV4ZWyG5h1cjxAKHq4pV5j33cXbD92wHt9hSjIwgEAjoty<br></div><div dir="ltr">wI1YdgZe3frT8wRj43Tm8MF/f2p/mytGzJHySAc=<br></div><div dir="ltr">=aXqg<br></div><div dir="ltr">-----END PGP SIGNATURE-----<br></div></div>
</div>
</div></div></blockquote><div><br></div><div><br></div></body></html>