服务器使用指南及一些常见的操作
基础操作
查看进程运行时间
例如:查看进程号为xx的进程运行时间
ps -eo pid,comm,etime | grep 1688435
更简单的版本:
ps -p 3656803 -o etime
#-p代表指定进程号,-o用于指定要显示的输出格式,etime 表示要显示进程的运行时间(elapsed time)
查找并杀死僵尸进程
首先查询僵尸进程及其父进程的pid:
ps -A -ostat,pid,ppid | grep -e '[zZ]'
然后使用kill -9 命令杀死ppid代表的父进程
打包、压缩文件
打包操作:
tar -czvf 压缩包名.tar.gz /path/to/压缩文件路径
tar -xzvf 压缩包名.tar.gz -C /path/to/解压缩文件存放的位置
ps:一般需要手动创建一个目录,然后将其作为路径。因为如果打包abc文件夹,实际上abc.tar.gz中存放的是abc文件夹下的目录。
有关服务器
查看Ubuntu版本
lsb_release -a
查看驱动信息
nvidia-smi
- 查看cuda:
nvcc -V
或nvcc --version
(若遇见已安装cuda但无法使用nvcc命令,使用这个教程)
常见官方conda源
换通道(指定源安装):-c channel
常见的源有default、conda-forge、nvidia,使用示例如下:
conda install <name> -c conda-forge
编辑conda源
- 添加(以清华大学源为例)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --set show_channel_urls yes 的作用是显示包的安装来源
- 阿里源:
https://mirrors.aliyun.com/anaconda/pkgs/main/linux-64/
- 查看已配置的源
conda config --show channels
- 查看已配置下载源优先级
conda config --get channels
- 删除下载源
- 删除指定源
conda config --remove channels channels_Name
- 删除所有源
conda config --remove-key channels
conda-信息查看
conda info
- 查看已安装包:
conda list
conda list 某个包
、conda list -n 环境名称
- 查看包的可用版本:
conda search numpy
- 查看虚拟环境:
conda env list
虚拟环境操作
创建:
conda create --name ENVNAME python=3.8
删除:
conda remove --name NEVNAME --all
服务器上的安装
安装cudatoolkit与cudnn、tensorflow
官网下载:无需登录官网下载网址资源
Linux离线状态下安装cuda、cudnn、cudatoolkit
以2.6.0为例,进行离线安装
Ubuntu20.04+cuda11.2+cudnn8.1+Anaconda3安装tensorflow-GPU环境
(都类似上个教程)
conda install -c conda-forge cudatoolkit=11.2
conda install -c conda-forge cudnn=8.1
别人能行,但是我不行,无法从conda-forge源中下载这两个版本的package;只能从default以及nvidia中凑出匹配tensorflow2.4的版本下载
注意:以上离线安装需要管理员权限,因此无管理员权限时只能进行conda命令安装。
pip
- 若缓存中的包不符合期待,可以使用
--no-cache-dir
pip --no-cache-dir install 包名
- pip 升级
pip install --upgrade pip
或者使用conda升级:conda update pip
- 不小心卸载了pip,重新安装pip
easy_install pip~=10.0.1
不同服务器之间环境、数据迁移
环境迁移
数据迁移
使用命令:
scp /path/to/local/file username@remote_host:/path/to/destination
其中,
scp 是 Secure Copy 的缩写,用于在本地系统和远程系统之间安全地复制文件。
/path/to/local/file 是要传输的本地文件的路径和名称。
username@remote_host 是目标远程主机的用户名和主机名或 IP 地址,例如 user@example.com 或 user@192.168.0.1。
:/path/to/destination 是目标服务器上接收文件的目标路径。