linux

determine which process is listening on a port

sudo netstat -ltnp | grep -w ':80' 

docker disk usage

Find large directories

du -ah / | sort -h -r | head -n 20

Find containers using a given volume

docker ps -a --filter volume=<volume>

Remove container and its associated volume

docker rm -v container

See total volume, image, container space

docker system df

See space used per volume

docker system df -v

Remove dangling volumes from disk

docker volume prune

filesystem performance is slow

workaround

Prefer ~/ over /mnt when filesystem performance is needed

wsl uses all the ram

yolo

Force linux to drop the page cache

echo 1 | sudo tee /proc/sys/vm/drop_caches

limit memory assigned to WSL2 VM

Create a %UserProfile%\.wslconfig file

[wsl2]
memory=6GB
swap=0
localhostForwarding=true

increase number of open files

Running into EMFILE errors because too many files open? (looking at you npm i):

mylimit=8000
sudo prlimit --nofile=$mylimit --pid $$; ulimit -n $mylimit
su $USER

or

sudo prlimit -p "$$" --nofile=10000:10000
exec $SHELL
ulimit -n 10000

fix clock drift

WSL2 clock drifts if left open when Windows sleeps. Fix with:

sudo hwclock -s

sync time

Install ntpdate

sudo apt install ntpdate

Sync

sudo ntpdate time.windows.com