maybe fixed cpu fork logging
This commit is contained in:
+5
-21
@@ -14,19 +14,11 @@ log() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
count_processes() {
|
count_processes() {
|
||||||
if command -v ps >/dev/null 2>&1; then
|
ls -d /proc/[0-9]* 2>/dev/null | wc -l
|
||||||
ps -e -o pid= 2>/dev/null | wc -l
|
|
||||||
else
|
|
||||||
echo 0
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
count_threads_total() {
|
count_threads_total() {
|
||||||
if command -v ps >/dev/null 2>&1; then
|
awk '/^Threads:/ {sum+=$2} END {print sum+0}' /proc/[0-9]*/status 2>/dev/null || echo 0
|
||||||
ps -e -o nlwp= 2>/dev/null | awk '{sum+=$1} END {print sum+0}'
|
|
||||||
else
|
|
||||||
echo 0
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get_mem_kb() {
|
get_mem_kb() {
|
||||||
@@ -74,17 +66,9 @@ sample_process_csv() {
|
|||||||
|
|
||||||
# Use pidstat for CPU and ps for memory/thread metrics.
|
# Use pidstat for CPU and ps for memory/thread metrics.
|
||||||
local cpu rss vsz nlwp
|
local cpu rss vsz nlwp
|
||||||
if command -v ps >/dev/null 2>&1; then
|
rss=$(awk '/^VmRSS:/ {print $2}' "/proc/$pid/status" 2>/dev/null || echo 0)
|
||||||
read -r cpu rss vsz nlwp < <(ps -o %cpu=,rss=,vsz=,nlwp= -p "$pid" 2>/dev/null || echo "0 0 0 0")
|
vsz=$(awk '/^VmSize:/ {print $2}' "/proc/$pid/status" 2>/dev/null || echo 0)
|
||||||
cpu=${cpu:-0}
|
nlwp=$(awk '/^Threads:/ {print $2}' "/proc/$pid/status" 2>/dev/null || echo 0)
|
||||||
rss=${rss:-0}
|
|
||||||
vsz=${vsz:-0}
|
|
||||||
nlwp=${nlwp:-0}
|
|
||||||
else
|
|
||||||
rss=0
|
|
||||||
vsz=0
|
|
||||||
nlwp=0
|
|
||||||
fi
|
|
||||||
if [ "$have_pidstat" -eq 1 ]; then
|
if [ "$have_pidstat" -eq 1 ]; then
|
||||||
cpu=$(pidstat -p "$pid" 1 1 2>/dev/null | awk -v p="$pid" '$1 ~ /^[0-9]/ && $3==p {print $8; exit}')
|
cpu=$(pidstat -p "$pid" 1 1 2>/dev/null | awk -v p="$pid" '$1 ~ /^[0-9]/ && $3==p {print $8; exit}')
|
||||||
cpu=${cpu:-0.00}
|
cpu=${cpu:-0.00}
|
||||||
|
|||||||
Reference in New Issue
Block a user