0%

服务器使用指南

服务器配置以及一些常用软件操作

服务器初始软件安装

Onedrive-linux

由于linux发布版本比较复杂,请参考onedrive installation doc

Anaconda

1
2
3
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
bash Anaconda3-2020.11-Linux-x86_64.sh
source ~/.bashrc # bashrc文件修改激活

torch

  1. 下载源操作(解决下载失败的问题。)

    • 增添清华安装源

      1
      2
      3
      4
      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 --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/'
  2. 安装

    1
    conda install pytorch torchvision torchaudio cudatoolkit=11.0

Onedrive-linux常用命令

目前在使用Onedrive做多端代码和数据的同步。使用流程如下。

登录

  1. 运行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:
  2. 授权:在自己的电脑浏览器中输入上述地址,并进行微软账号登录(科学上网)。登录成功后,浏览器网址输入栏会跳转到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
2
> screen -S onedrive-sync
> tmux new -s onedrive-sync

然后执行文件夹同步命令:

1
2
# xxxx就是要同步的云端网盘中的文件夹名称
> onedrive --monitor --single-directory 'xxxx'

onedrive默认同步目录被创建在/root目录下。可以看到新创建的文件夹OneDrive/xxxx,用来存放从网盘同步下来的文件。

更多操作可以使用onedrive -h,查看使用帮助。也可以参考github上该项目文档提供的更多指令

tmux常用方式

tmux通过终端与会话分离的方式,实现shell关闭,程序不断的功能。常用命令如下:

会话命令

  • 开启新会话

    1
    2
    tmux new -s session_name # shell命令下,创建新的对话
    ctrl+b : new # 会话模式下,创建新的对话。冒号转到输入模式
  • 退出

    1
    2
    3
    4
    ctrl+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
    4
    Ctrl+b &

    Ctrl+b
    :kill-session
  • 通过窗口列表切换窗口
    1
    Ctrl+b w
  • 在所有窗口中查找指定文本
    1
    Ctrl+b f

    pane命令

  • 创建新pane
    1
    2
    3
    Ctrl+b %    //左右

    Ctrl+b " //上下
  • 关闭当前面板
    1
    Ctrl+b x
  • 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
    1
    Ctrl+b !
  • 以1个单元格为单位移动边缘以调整当前面板大小
    1
    2
    3
    4
    5
        Ctrl+b Ctrl+方向键
    ```
    - 移动光标以选择面板
    ```bash
    Ctrl+b 方向键
  • 重新布局多个pane
    1
    Ctrl+b space

Xshell sftp常见使用方法

Xshell中的sftp 工具命令分为本地操作命令和远程操作两种命令类型。本地操作命令管理本地文件,远程操作命令管理远程服务器文件。经常使用的命令如下:

  • get

    从远程服务器上下载一个文件存放到本地

    1
    2
    lcd d:\            #切换到本地的d盘下
    get ./test.sql   #这样就将当前文件下载本地的d盘下
  • put

    将本地的文件上传到远程服务器上

    1
    put               #在windows下弹出选择文件的窗口
  • lcd

    本地目录切换命令

    1
    2
    lcd                 # 弹出界面,鼠标选择要切换的路径
    lcd c:\            # 切换到本地的c盘下
  • lls(local list?)

    列出本地当前目录下的所有文件

  • pwd

    打印远程服务器工作路径

程序运行

  • 如何在后台跑程序,而不至于在断开连接时,程序中断。
    1
    2
    3
    > screen -S xxx   # 启动一个后台桌面来运行程序
    or
    > tmux new -s xxx

服务器状态查询

服务器查询状态指令有许多,包括nvidia-smi, top, free等等,可以看到服务器状态。

显卡状态

  • gpustat
1
2
# keep monitoring gpustat every 2 seconds
watch -n 2 --color gpustat --color
  • 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

cuda

  • 版本查询
    1
    cat /usr/local/cuda/version.txt

    cudnn

  • 版本查询
    1
    cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2