xvadur's picture
Add complete Aethero_App and aethero_protocol directories
46f737d
#!/bin/bash
set -e
echo "=== AetheroOS Memory Optimizer ==="
# Parse arguments
CLEANUP=false
AGGRESSIVE=false
while [[ $# -gt 0 ]]; do
case $1 in
--cleanup)
CLEANUP=true
shift
;;
--aggressive)
AGGRESSIVE=true
shift
;;
*)
echo "Unknown option: $1"
exit 1
;;
esac
done
# Function to check container existence
check_container() {
docker ps -q -f name=$1
}
# Function to optimize container memory
optimize_container() {
local container=$1
echo "Optimizing container: $container"
if [ "$AGGRESSIVE" = true ]; then
echo "Performing aggressive memory optimization..."
docker exec $container sh -c 'sync; echo 3 > /proc/sys/vm/drop_caches'
else
echo "Performing standard memory optimization..."
docker exec $container sh -c 'sync; echo 1 > /proc/sys/vm/drop_caches'
fi
}
# Function to cleanup memory data
cleanup_memory() {
echo "Cleaning up memory data..."
# Stop services that might be writing to memory
docker-compose -f ../agents/docker-compose.yml stop aethero_mem
# Clear memory data
if [ "$AGGRESSIVE" = true ]; then
echo "Performing aggressive cleanup..."
rm -rf ../data/aethero_mem/*
else
echo "Performing standard cleanup..."
find ../data/aethero_mem -type f -mtime +7 -delete
fi
# Restart services
docker-compose -f ../agents/docker-compose.yml start aethero_mem
}
# Main optimization process
echo "Starting memory optimization..."
# Check for running containers
CONTAINERS=("aetheros_mem" "aetheros_reflection" "aetheros_planner" "aetheros_scout" "aetheros_analyst")
for container in "${CONTAINERS[@]}"; do
if [ -n "$(check_container $container)" ]; then
optimize_container $container
else
echo "Warning: Container $container not found"
fi
done
# Perform cleanup if requested
if [ "$CLEANUP" = true ]; then
cleanup_memory
fi
# Verify optimization
echo "Verifying optimization results..."
# Check memory usage after optimization
for container in "${CONTAINERS[@]}"; do
if [ -n "$(check_container $container)" ]; then
MEMORY_USAGE=$(docker stats $container --no-stream --format "{{.MemPerc}}" | cut -d'%' -f1)
echo "$container memory usage: $MEMORY_USAGE%"
if (( $(echo "$MEMORY_USAGE > 80" | bc -l) )); then
echo "Warning: High memory usage in $container"
fi
fi
done
echo "Memory optimization complete!"
# Return status
if [ "$CLEANUP" = true ]; then
echo "Cleanup completed successfully"
fi
if [ "$AGGRESSIVE" = true ]; then
echo "Aggressive optimization completed"
fi
exit 0