fix(service): filter check commands from memory_rss_mb and apply GODEBUG madvdontneed (1.3.20)
This commit is contained in:
@@ -864,6 +864,7 @@ function managed_sing_box_service_text() {
|
||||
" procd_set_param stderr \"$log_stderr\"\n" +
|
||||
" procd_set_param limits core=\"unlimited\"\n" +
|
||||
" procd_set_param limits nofile=\"1000000 1000000\"\n" +
|
||||
" procd_set_param env GODEBUG=\"madvdontneed=1\"\n" +
|
||||
" mem_total_kb=\"$(awk '/MemTotal/ {print $2}' /proc/meminfo 2>/dev/null || echo 0)\"\n" +
|
||||
" if [ \"$mem_total_kb\" -gt 0 ] && [ \"$mem_total_kb\" -lt 262144 ]; then\n" +
|
||||
" mem_limit_mb=$(( mem_total_kb / 1024 * 35 / 100 ))\n" +
|
||||
@@ -876,7 +877,7 @@ function managed_sing_box_service_text() {
|
||||
" [ \"$mem_limit_mb\" -lt 12 ] && mem_limit_mb=12\n" +
|
||||
" fi\n" +
|
||||
" fi\n" +
|
||||
" procd_set_param env GOMEMLIMIT=\"${mem_limit_mb}MiB\"\n" +
|
||||
" procd_set_param env GOMEMLIMIT=\"${mem_limit_mb}MiB\" GODEBUG=\"madvdontneed=1\"\n" +
|
||||
" fi\n" +
|
||||
" procd_set_param term_timeout 15\n" +
|
||||
" procd_set_param respawn\n" +
|
||||
|
||||
@@ -2097,6 +2097,7 @@ function managed_sing_box_service_script(marker) {
|
||||
" procd_set_param stderr \"$log_stderr\"\n" +
|
||||
" procd_set_param limits core=\"unlimited\"\n" +
|
||||
" procd_set_param limits nofile=\"1000000 1000000\"\n" +
|
||||
" procd_set_param env GODEBUG=\"madvdontneed=1\"\n" +
|
||||
" mem_total_kb=\"$(awk '/MemTotal/ {print $2}' /proc/meminfo 2>/dev/null || echo 0)\"\n" +
|
||||
" if [ \"$mem_total_kb\" -gt 0 ] && [ \"$mem_total_kb\" -lt 262144 ]; then\n" +
|
||||
" mem_limit_mb=$(( mem_total_kb / 1024 * 35 / 100 ))\n" +
|
||||
@@ -2109,7 +2110,7 @@ function managed_sing_box_service_script(marker) {
|
||||
" [ \"$mem_limit_mb\" -lt 12 ] && mem_limit_mb=12\n" +
|
||||
" fi\n" +
|
||||
" fi\n" +
|
||||
" procd_set_param env GOMEMLIMIT=\"${mem_limit_mb}MiB\"\n" +
|
||||
" procd_set_param env GOMEMLIMIT=\"${mem_limit_mb}MiB\" GODEBUG=\"madvdontneed=1\"\n" +
|
||||
" fi\n" +
|
||||
" procd_set_param term_timeout 15\n" +
|
||||
" procd_set_param respawn\n" +
|
||||
|
||||
@@ -1052,6 +1052,9 @@ function process_memory_rss_mb(process_name) {
|
||||
let pid = trim(as_string(p));
|
||||
if (!pid || match(pid, /^[0-9]+$/) == null)
|
||||
continue;
|
||||
let cmd = fs.readfile("/proc/" + pid + "/cmdline");
|
||||
if (cmd && index(cmd, "check") >= 0)
|
||||
continue;
|
||||
let status = fs.readfile("/proc/" + pid + "/status");
|
||||
if (!status)
|
||||
continue;
|
||||
|
||||
@@ -393,6 +393,7 @@ function managed_service_text() {
|
||||
" procd_set_param stderr \"$log_stderr\"\n" +
|
||||
" procd_set_param limits core=\"unlimited\"\n" +
|
||||
" procd_set_param limits nofile=\"1000000 1000000\"\n" +
|
||||
" procd_set_param env GODEBUG=\"madvdontneed=1\"\n" +
|
||||
" mem_total_kb=\"$(awk '/MemTotal/ {print $2}' /proc/meminfo 2>/dev/null || echo 0)\"\n" +
|
||||
" if [ \"$mem_total_kb\" -gt 0 ] && [ \"$mem_total_kb\" -lt 262144 ]; then\n" +
|
||||
" mem_limit_mb=$(( mem_total_kb / 1024 * 35 / 100 ))\n" +
|
||||
@@ -405,7 +406,7 @@ function managed_service_text() {
|
||||
" [ \"$mem_limit_mb\" -lt 12 ] && mem_limit_mb=12\n" +
|
||||
" fi\n" +
|
||||
" fi\n" +
|
||||
" procd_set_param env GOMEMLIMIT=\"${mem_limit_mb}MiB\"\n" +
|
||||
" procd_set_param env GOMEMLIMIT=\"${mem_limit_mb}MiB\" GODEBUG=\"madvdontneed=1\"\n" +
|
||||
" fi\n" +
|
||||
" procd_set_param term_timeout 15\n" +
|
||||
" procd_set_param respawn\n" +
|
||||
|
||||
Reference in New Issue
Block a user