Linux
清空swap内存
某次分布式训练程序运行很慢而且会报错 torch.distributed.elastic.multiprocessing.errors.childFailedError, 网上说是子进程遇到资源不足的问题报错,观察内存发现swap异常被占满:
分析发现程序占用内存过大导致,修改完程序后清空swap内存:
# root
swapoff -a
swapon -a
删除一个txt文件的每行的第一个0
sed 是一个流编辑器,适合处理文本行的修改,如果不想生成新文件,可以用 sed -i:
sed 's/^0//' input.txt > output.txt
sed -i 's/^0//' input.txt
删除监听在某端口的所有程序
kill $(lsof -t -i:29502 -a -u hh)
删除某个用户的所有python程序
killall -u username python
scp
# 从服务器下载整个目录
scp -r username@servername:remote_dir/ /tmp/local_dir
# 上传目录到服务器
scp -r /tmp/local_dir username@servername:remote_dir
bash: /usr/bin/cp: Argument list too long
cp 或者 mv命令复制移动的文件太多会导致这个问题
find 源路径 -name "*.jpg" -type f -print0 | xargs -0 cp -t 目标路径
用户操作
sudo useradd -m -d 用户主目录 -c "用户描述" 用户名
sudo passwd 用户名
## 修改用户根目录
# sudo下设置根目录
usermod -d /data2/hh hh
sudo mkdir /data2/hh
chown -R tom /opt/test
# 此命令是指定test文件夹的所有者是tom,-R是递归。如果test是文件就去掉-R。
Unable to determine the device handle for GPU0000:81:00.0: Unknown Error
推测是供电不足导致的问题,因此需要限制显卡功率
# 查看显卡功率
sudo nvidia-smi -q | grep 'Power Limit'
# 开启持久模式
sudo nvidia-smi -pm 1
# 限制某张卡的功率为250W
sudo nvidia-smi -i 1 -pl 250
PostgreSQL
sudo apt install postgresql
sudo service postgresql status
sudo -i -u postgres # 密码为空
psql # 进入数据库终端
ALTER USER postgres WITH PASSWORD 'Lpf65BsDhDNdaJmH';
# 创建名为 mydbuser 的用户,为 mydbuser 设置密码,并为 mydbuser 分配 CREATEROLE 和 CREATEDB 权限:
postgres=# CREATE USER mydbuser WITH PASSWORD 'mypasswd' CREATEROLE CREATEDB;
CREATE ROLE
\du #查看用户
# 使用 \q meta 命令从互动终端注销:
postgres=# \q
# 注销 postgres 用户会话:
$ logout
# 以 mydbuser 用户身份登录 PostgreSQL 终端,指定主机名并连接到默认的 postgres 数据库,该数据库在初始化过程中创建:
psql -h 127.0.0.1 -p 5432 -U hh -d postgres
# 创建数据库
create database track;
\l # 查看数据库
卸载:
sudo systemctl stop postgresql ### 关闭数据库服务
sudo systemctl status postgresql ### 确认数据库服务处于关闭状态
sudo apt-get purge 'postgresql-*' ### 卸载数据库
sudo apt-get autoremove 'postgresql-*' ### 卸载数据库依赖包
sudo rm -r /etc/postgresql/ ### 删除配置文件
sudo rm -r /etc/postgresql-common/ ### 删除配置文件
sudo rm -r /var/lib/postgresql/ ### 删除数据目录
sudo userdel -r postgres ### 删除用户
sudo groupdel postgres ### 删除用户组