# 1. Mevcut aktif log dosyasını arşive kaldır (döndür)
sudo journalctl --rotate
# 2. 1 saniyeden eski olan tüm arşivlenmiş logları sil (yani her şeyi)
sudo journalctl --vacuum-time=1s
sudo journalctl -u gypsy-backtest.service -n 200 --no-pager
sudo systemctl stop gypsy-backtest.service
sudo systemctl status gypsy-backtest.service
sudo pkill -f backtest.py
numactl --cpunodebind=1 --membind=1 env SHARD_ID=1 SHARD_N=2 python3 backtest.py
numactl --cpunodebind=0 --membind=0 env SHARD_ID=0 SHARD_N=2 python3 backtest.py
#!/bin/bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
PY=/usr/bin/python3
BT="$SCRIPT_DIR/backtest.py"
# 🔥 DÜZELTME 1: 4 Tane PID Dosyası Tanımla
PID0=/tmp/gypsy_backtest_n0.pid
PID1=/tmp/gypsy_backtest_n1.pid
PID2=/tmp/gypsy_backtest_n2.pid
PID3=/tmp/gypsy_backtest_n3.pid
# Başlarken portları salması için kısa bekleme (180 saniye çok fazla, 5 yeter)
sleep 5
kill_pidfile() {
local f="$1"
if [[ -f "$f" ]]; then
local pid
pid="$(cat "$f" || true)"
if [[ -n "${pid:-}" ]] && kill -0 "$pid" 2>/dev/null; then
kill "$pid" 2>/dev/null || true
sleep 2
kill -9 "$pid" 2>/dev/null || true
fi
rm -f "$f"
fi
}
# 🔥 DÜZELTME 2: Başlamadan önce 4 Node'u da temizle
kill_pidfile "$PID0"
kill_pidfile "$PID1"
kill_pidfile "$PID2"
kill_pidfile "$PID3"
cleanup() {
# 🔥 DÜZELTME 3: Kapanırken 4 Node'u da öldür
kill_pidfile "$PID0"
kill_pidfile "$PID1"
kill_pidfile "$PID2"
kill_pidfile "$PID3"
}
trap cleanup SIGINT SIGTERM EXIT
# --------------------------------------------------------
# BAŞLATMA KOMUTLARI (NPS2 - 4 SHARD)
# --------------------------------------------------------
# Node 0 (Socket 1 - Sol)
/usr/bin/numactl --cpunodebind=0 --membind=0 env SHARD_ID=0 SHARD_N=4 "$PY" "$BT" &
echo $! > "$PID0"
# Node 1 (Socket 1 - Sağ)
/usr/bin/numactl --cpunodebind=1 --membind=1 env SHARD_ID=1 SHARD_N=4 "$PY" "$BT" &
echo $! > "$PID1"
# Node 2 (Socket 2 - Sol)
/usr/bin/numactl --cpunodebind=2 --membind=2 env SHARD_ID=2 SHARD_N=4 "$PY" "$BT" &
echo $! > "$PID2"
# Node 3 (Socket 2 - Sağ)
/usr/bin/numactl --cpunodebind=3 --membind=3 env SHARD_ID=3 SHARD_N=4 "$PY" "$BT" &
echo $! > "$PID3"
# Script kapanmasın; systemd bunu ana proses olarak izlesin
wait
#terminal commands
/usr/bin/numactl --cpunodebind=0 --membind=0 env SHARD_ID=0 SHARD_N=4 python3 backtest.py
/usr/bin/numactl --cpunodebind=1 --membind=1 env SHARD_ID=1 SHARD_N=4 python3 backtest.py
/usr/bin/numactl --cpunodebind=2 --membind=2 env SHARD_ID=2 SHARD_N=4 python3 backtest.py
/usr/bin/numactl --cpunodebind=3 --membind=3 env SHARD_ID=3 SHARD_N=4 python3 backtest.py