环境(重要)¶
系统¶
实例是以 Docker 容器方式运行,实例系统为 Ubuntu 18.04 或 Ubuntu 20.04
。在容器实例中具有如下限制:
- 无法使用重启命令,请通过控制台重启实例
- 内核版本、显卡驱动无法升降级
- 不能安装和使用 Docker 容器
- 实例创建后
/
空间容量为20G,请将数据存放至/hy-tmp/
目录中
关机可以使用 shutdown
命令,执行后会出现提示,等待几秒后完成关机。
资源¶
实例的处理器核数和内存数是根据租用显卡占机器所有显卡的比例计算来的。cat /proc/cpuinfo
和 free
命令得到的是机器上的所有资源,不代表实例可用的资源。可使用下列命令查看实例资源。
# 查看处理器核数
echo $(($(cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us) / $(cat /sys/fs/cgroup/cpu/cpu.cfs_period_us)))
# 查看实例内存
echo "$(($(cat /sys/fs/cgroup/memory/memory.limit_in_bytes) / 1024 / 1024 / 1024)) GB"
# 查看实例根分区磁盘
df -h | grep "/$" | awk '{print $5" "$3"/"$2}'
网络¶
实例是不具备公网 IP 的,在实例内开启带有监听的网络服务无法通过接入点 (i-N.gpushare.com) 访问到。SSH、JupyterLab 和 TensorBoard 是通过端口映射的方式来通过接入点访问。
显卡¶
因容器限制,使用 nvidia-smi
无法看到正在使用卡的进程。可以用 py3smi
命令查看(Owner、PID 等信息会不准确)。
nvidia-smi
中 CUDA Version
表示该驱动所支持的最高 CUDA 版本,不代表实例中的 CUDA 版本。可以使用如下命令查看 CUDA 的相关信息。
# 查看 CUDA 版本
nvcc -V
# 查看 CUDNN 版本
dpkg -l | grep -E "\slibcudnn[0-9]\s" | awk '{print $2": "$3}'
# 查看 CUDNN 位置
dpkg -L $(dpkg -l | grep -E "\slibcudnn[0-9]\s" | awk '{print $2}')
# 查看 NCCL 位置
dpkg -L libnccl2
Python¶
警告
不支持以任何方式删除或卸载系统内置的 Python,否则会造成实例无法再正常启动
实例内预装了 Python,在创建实例的官方镜像会选择 Python 版本。库和框架都是使用该 Python 版本安装的。
python
和 python3
都是软链接,链接到镜像内置的 Python 版本上。
# 查看 Python 版本
python -V
# Python 命令的软链接
ll /usr/local/bin/python*