服务器配置以及一些常用软件操作
服务器初始软件安装
Onedrive-linux
由于linux发布版本比较复杂,请参考onedrive installation doc
Anaconda
1 | wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh |
torch
下载源操作(解决下载失败的问题。)
增添清华安装源
1
2
3
4conda 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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes # conda list命令显示包下载来源显示已经加载的下载源
1
conda config --show channels
删除已经加载的下载源
1
conda config --remove channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'
安装
1
conda install pytorch torchvision torchaudio cudatoolkit=11.0
Onedrive-linux常用命令
目前在使用Onedrive做多端代码和数据的同步。使用流程如下。
登录
运行onedrive:生成一个https链接,并等待认证。
1
2
3
4
5
6
7
8
9> onedrive
Configuration file successfully loaded
Configuring Global Azure AD Endpoints
Authorize this app visiting:
https://login.microsoftonline.com/link/to/copy
Enter the response uri:授权:在自己的电脑浏览器中输入上述地址,并进行微软账号登录(科学上网)。登录成功后,浏览器网址输入栏会跳转到response url。拷贝该url,输入到response。
1
Enter the response uri: https://login.microsoftonline.com/oauthed/new/link
出现如下提示,则成功登录:
1
Application has been successfully authorised, however no additional command switches were provided.
使用
onedrive使用方式有如下三种:
- 单次同步文件
- 作为程序后台持续执行
- 作为系统服务运行
第二种为常用方式,详述如下。
首先使用screen/tmux创建一个后台桌面,方便运行其他程序。
1 | > screen -S onedrive-sync |
然后执行文件夹同步命令:
1 | # xxxx就是要同步的云端网盘中的文件夹名称 |
onedrive默认同步目录被创建在/root目录下。可以看到新创建的文件夹OneDrive/xxxx,用来存放从网盘同步下来的文件。
更多操作可以使用onedrive -h,查看使用帮助。也可以参考github上该项目文档提供的更多指令
tmux常用方式
tmux通过终端与会话分离的方式,实现shell关闭,程序不断的功能。常用命令如下:
会话命令
开启新会话
1
2tmux new -s session_name # shell命令下,创建新的对话
ctrl+b : new # 会话模式下,创建新的对话。冒号转到输入模式退出
1
2
3
4ctrl+d or
> exit # 直接退出session
ctrl+b d # 暂时返回shell界面删除会话
1
tmux kill-session -t session_name
列出当前所有会话
1
tmux ls
重新进入之前的会话
1
tmux attach(a) -t session_name # 指定恢复特定session
切换会话
1
ctrl+b s # 先按ctrl+b进入快捷键模式,s切换命令
窗口命令
- 创建新窗口
1
Ctrl+b c
- 杀死当前窗口
1
2
3
4Ctrl+b &
Ctrl+b
:kill-session - 通过窗口列表切换窗口
1
Ctrl+b w
- 在所有窗口中查找指定文本
1
Ctrl+b f
pane命令
- 创建新pane
1
2
3Ctrl+b % //左右
Ctrl+b " //上下 - 关闭当前面板
1
Ctrl+b x
- 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
1
Ctrl+b !
- 以1个单元格为单位移动边缘以调整当前面板大小
1
2
3
4
5Ctrl+b Ctrl+方向键
```
- 移动光标以选择面板
```bash
Ctrl+b 方向键 - 重新布局多个pane
1
Ctrl+b space
Xshell sftp常见使用方法
Xshell中的sftp 工具命令分为本地操作命令和远程操作两种命令类型。本地操作命令管理本地文件,远程操作命令管理远程服务器文件。经常使用的命令如下:
get
从远程服务器上下载一个文件存放到本地
1
2lcd d:\ #切换到本地的d盘下
get ./test.sql #这样就将当前文件下载本地的d盘下put
将本地的文件上传到远程服务器上
1
put #在windows下弹出选择文件的窗口
lcd
本地目录切换命令
1
2lcd # 弹出界面,鼠标选择要切换的路径
lcd c:\ # 切换到本地的c盘下lls(local list?)
列出本地当前目录下的所有文件
pwd
打印远程服务器工作路径
程序运行
- 如何在后台跑程序,而不至于在断开连接时,程序中断。
1
2
3> screen -S xxx # 启动一个后台桌面来运行程序
or
> tmux new -s xxx
服务器状态查询
服务器查询状态指令有许多,包括nvidia-smi, top, free等等,可以看到服务器状态。
显卡状态
- gpustat
1 | # keep monitoring gpustat every 2 seconds |
nvidia-smi指令详解
- GPU , 本机中的GPU编号(有多块显卡的时候,从0开始编号)图上GPU的编号是:0
- Fan , 风扇转速(0%-100%),N/A表示没有风扇
- Name , GPU类型,图上GPU的类型是:Tesla T4
- Temp , GPU的温度(GPU温度过高会导致GPU的频率下降)
- Perf , GPU的性能状态,从P0(最大性能)到P12(最小性能),图上是 , P0
- Persistence-M , 持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时花费的时间更 少,图上显示的是:off
- Pwr , Usager/Cap:能耗表示,Usage:用了多少,Cap总共多少
- Bus-Id , GPU总线相关显示,domain:bus:device.function
- Disp.A , Display Active ,表示GPU的显示是否初始化
- Memory-Usage , 显存使用率
- Volatile GPU-Util , GPU使用率
- Uncorr. ECC , 关于ECC的东西,是否开启错误检查和纠正技术,0/disabled,1/enabled
- Compute M , 计算模式,0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED
- Processes , 显示每个进程占用的显存使用率、进程号、占用的哪个GPU
nvidia-smi用法
nvidia-smi -l 1
动态更新GPU信息,-l为刷新秒数
记录到文件当中
1
nvidia-smi --filename=log.csv --format=csv --query-gpu=utilization.gpu
查询gpu占用率
1
nvidia-smi --format=csv --query-gpu=utilization.gpu