chore: fichiers modifiés sessions précédentes
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
# Output CSV file
|
||||
CSV_FILE="memory_log.csv"
|
||||
|
||||
# Process names to track
|
||||
PROCESSES_TO_TRACK=("photobooth" "chromium" "firefox") # Add more as needed
|
||||
|
||||
# Create system memory CSV if it doesn't exist
|
||||
if [ ! -f "$MEM_LOG" ]; then
|
||||
echo "timestamp,total_MB,used_MB,free_MB,shared_MB,buff/cache_MB,available_MB" > "$MEM_LOG"
|
||||
fi
|
||||
|
||||
# Create individual CSVs for each process name if missing
|
||||
for pname in "${PROCESSES_TO_TRACK[@]}"; do
|
||||
fname="process_${pname}.csv"
|
||||
if [ ! -f "$fname" ]; then
|
||||
echo "timestamp,process_name,pid,%mem,rss_MB,command" > "$fname"
|
||||
fi
|
||||
done
|
||||
|
||||
# Initialize CSV file with headers
|
||||
if [ ! -f "$CSV_FILE" ]; then
|
||||
echo "timestamp,total_MB,used_MB,free_MB,shared_MB,cache_MB,available_MB" > "$CSV_FILE"
|
||||
fi
|
||||
|
||||
# Function to get memory usage and append to CSV
|
||||
# Adjust "Speicher" to Mem or Swap, see free -m
|
||||
log_mem_usage() {
|
||||
free -m | awk -v tstamp="$(date '+%Y-%m-%d %H:%M:%S')" '
|
||||
/^Mem:/ {
|
||||
printf "%s,%s,%s,%s,%s,%s,%s\n", tstamp, $2, $3, $4, $5, $6, $7
|
||||
}
|
||||
' >> "$CSV_FILE"
|
||||
}
|
||||
|
||||
log_process_mem() {
|
||||
timestamp="$(date '+%Y-%m-%d %H:%M:%S')"
|
||||
for pname in "${PROCESSES_TO_TRACK[@]}"; do
|
||||
outfile="process_${pname}.csv"
|
||||
ps -C "$pname" -o pid,rss,cmd --no-headers | while read -r pid rss cmd; do
|
||||
# Convert RSS from KB to integer MB
|
||||
rss_mb=$((rss / 1024))
|
||||
echo "$timestamp,$pname,$pid,$rss_mb,\"$cmd\"" >> "$outfile"
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
# Trap Ctrl+C and exit gracefully
|
||||
trap "echo -e '\nExiting on Ctrl+C'; exit 0" SIGINT
|
||||
|
||||
while true; do
|
||||
free -h
|
||||
log_mem_usage
|
||||
log_process_mem
|
||||
|
||||
# curl -X 'GET' \
|
||||
# 'http://localhost:8083/api/actions/image/0' \
|
||||
# -H 'accept: application/json'
|
||||
# echo
|
||||
|
||||
|
||||
sleep 2
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user