Skip to content

Latest commit

 

History

History
156 lines (114 loc) · 4.88 KB

File metadata and controls

156 lines (114 loc) · 4.88 KB

pwrlab — Features & Available Software

Node: pwrlab · 169.228.63.79
OS: Ubuntu 24.04.1 LTS
Last updated: 2026-06-15


Hardware

Component Spec
CPU 2× Intel Xeon Gold 6240 (18 cores each, 2 threads/core = 72 logical cores)
Clock 2.60 GHz base
NUMA 2 nodes (36 CPUs each)
RAM 187 GB
Disk 98 GB SSD (root)
GPU None
Network eno3 — 169.228.63.79/24

Languages & Runtimes

Language Version Location Notes
Python 3.12 /usr/bin/python3 System Python; use venvs for projects
Julia 1.x /usr/bin/julia System-wide
Node.js LTS /usr/bin/node Required for Claude Code
Bash 5.x /bin/bash

Optimization

Tool Version Notes
Gurobi 11.0.1 Academic license locked to pwrlab; license at /home/pwrlabadmin/gurobi.lic
Gurobi home /opt/gurobi1101/linux64 Set GUROBI_HOME — see user guide §5

Databases

Database Version Port Access
MariaDB latest 3306 localhost only; ask admin for user/db
PostgreSQL 16 5432 localhost only; ask admin for role/db

AI Tools

All AI tools are installed system-wide. API keys are personal — each user sets their own in ~/.bashrc or via llm keys set.

Tool Command Key needed Get key
Claude Code (Anthropic) pwrlab-claude ANTHROPIC_API_KEY console.anthropic.com
Gemini CLI (Google) pwrlab-gemini GEMINI_API_KEY aistudio.google.com/apikey (free)
llm — multi-provider CLI llm per-provider via llm keys set see llm models

llm supports OpenAI (GPT-4o etc.), Gemini, Claude, and many others from one command. Run llm keys set openai etc. once per user.

Session aliases: claude-list, gemini-list, ai-sessions


Monitoring Tools

User-accessible

Tool Usage Description
htop htop Interactive process viewer
btop btop Rich graphical resource monitor
glances glances Full system dashboard (also runs as service)
ncdu ncdu ~ Interactive disk usage browser
w / who w Show logged-in users

Admin tools

Tool Usage Description
pwrlab-status sudo pwrlab-status Full health report (CPU/mem/disk/services/logs)
pwrlab-maintenance sudo pwrlab-maintenance [--apply] Cleanup, update checks, large files
pwrlab-check-alerts auto (cron) Hourly disk/service alerts → email
iotop sudo iotop Per-process I/O monitor
nethogs sudo nethogs Per-process network bandwidth
vnstat vnstat Network traffic history by day/month
smartctl sudo smartctl -H /dev/sda Disk S.M.A.R.T. health
sensors sensors CPU/board temperatures
sysstat / sar sar -u 1 5 System activity reports

Session & Terminal Tools

Tool Notes
tmux 3.4 Persistent terminal sessions — use for all long-running work
byobu 6.11 Friendly tmux wrapper with F-key shortcuts

Security

Tool Notes
fail2ban Bans IPs after 5 SSH failures in 10 min (1h ban)
ClamAV Antivirus daemon + auto-updater
UFW Firewall (default Ubuntu rules)

Admin Scripts (/usr/local/bin/)

Script Description
pwrlab-status Full node health report for admins
pwrlab-maintenance [--apply] System cleanup and update checks
pwrlab-check-alerts Hourly cron worker; emails on disk/service issues
pwrlab-claude [session] Start/reattach Claude Code in a persistent tmux session

Running Services

Service Port Notes
SSH (ssh) 22 Key-based auth recommended
MariaDB (mariadb) 3306 (local)
PostgreSQL 16 (postgresql@16-main) 5432 (local)
glances 61208 (local) Web UI at localhost:61208
Munge (munge) HPC credential service
Postfix (postfix) 25 (local) Local mail relay
ClamAV (clamav-daemon)
fail2ban SSH protection
vnstat Network traffic stats
smartd Disk health monitoring

Cron Jobs

Schedule Job Description
Hourly (:00) pwrlab-check-alerts Disk + service health check; email if issues
Monthly (1st Sun, 2 AM) pwrlab-monthly Full package upgrade + reboot if required (10-min user warning)
Daily e2scrub_all Filesystem integrity check
Daily sysstat System activity log rotation

User Guide

Full usage instructions: /usr/local/share/pwrlab/user-guide.md

Admin change log: /home/pwrlabadmin/pwrlab-admin/CHANGES.md