| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- # #!/usr/bin/env bash
- #
- # # Check if PID is provided
- # if [ -z "$1" ]; then
- # echo "Usage: $0 <PID>"
- # exit 1
- # fi
- #
- # PID=$1
- #
- # # Verify if PID exists
- # if ! ps -p "$PID" >/dev/null; then
- # echo "Error: Process with PID $PID does not exist."
- # exit 1
- # fi
- #
- # # Get VmRSS from /proc/<PID>/status
- # VMRSS=$(grep VmRSS /proc/"$PID"/status | awk '{print $2}')
- #
- # # Check if VmRSS was found
- # if [ -z "$VMRSS" ]; then
- # echo "Error: Could not retrieve VmRSS for PID $PID."
- # exit 1
- # fi
- #
- # # Convert to human-readable format (MB)
- # VMRSS_MB=$(echo "scale=2; $VMRSS / 1024" | bc)
- #
- # echo "Process $PID VmRSS: $VMRSS kB ($VMRSS_MB MB)"
- #!/usr/bin/env bash
- INTERVAL="${1:-1}"
- printf "%-8s %-6s %-6s %-10s %s\n" \
- "TIME" "PID" "RT" "RSS(MB)" "CMD"
- while true; do
- TS=$(date +%H:%M:%S)
- ps ax -o pid=,comm=,cmd= | awk '$2 ~ /^(node|nodejs|bun)$/ { print }' | \
- while read -r PID COMM CMD; do
- STATUS="/proc/$PID/status"
- [ ! -r "$STATUS" ] && continue
- RSS_KB=$(awk '/VmRSS/ {print $2}' "$STATUS")
- [ -z "$RSS_KB" ] && continue
- RSS_MB=$(awk "BEGIN { printf \"%.1f\", $RSS_KB/1024 }")
- RT=$(case "$COMM" in
- bun*) echo "bun" ;;
- node*) echo "node" ;;
- *) echo "js" ;;
- esac)
- printf "%-8s %-6s %-6s %-10s %s\n" \
- "$TS" "$PID" "$RT" "$RSS_MB" "$CMD"
- done
- sleep "$INTERVAL"
- done
|