美文网首页
远程服务器Linux使用技巧

远程服务器Linux使用技巧

作者: Liu91 | 来源:发表于2018-08-30 11:02 被阅读0次

    1. 释放GPU内存

    现象ctrl+z中断程序运行后,发现GPU内存没有释放(用$ nvidia-smi命令查看)
    解决办法:kill 进程,释放内存

    $ sudo fuser -v /dev/nvidia* #查找占用GPU资源的PID
    

    查找到PID号后,利用以下命令释放内存:

    $ kill -9 11747 #  11747 is the PID number
    

    再次执行 nvidia-smi 查看GPU使用情况。

    2. 挂载远程目录到本地

    背景:不喜欢Linux下vim编辑代码的方式,又不想来回的将本地代码拷贝到服务器
    解决办法:将服务器目录挂载到本地,用本地编辑器编辑代码。
    以Mac为例:

    $ brew install sshfs
    

    brew是Mac下的套件管理工具, 请参考Homebrew进行安装。

    安装sshfs过程中可能会报错:
    sshfs: OsxfuseRequirement unsatisfied!
    You can install with Homebrew-Cask:
    brew cask install osxfuse
    You can download from:
    https://osxfuse.github.io/
    Error: An unsatisfied requirement failed this build.
    按照提示,执行以下命令:

    $ brew cask install osxfuse
    

    安装成功后再次执行brew install sshfs命令。然后用sshfs挂载远程目录到本地:

    $ sshfs -C -o reconnect <user>@<host>:<remote_dir> <local_dir>
    

    例如,我的远程服务器是zhangsan@gpu-2,要挂载的服务器文件路径是 /home/zhangsan/tensorflow/,放到本地的路径是/Users/zhangsan/tensorflow/。则上面完整的命令就是:

    $ sshfs -C -o reconnect zhangsan@gpu-2:/home/zhangsan/tensorflow/ /Users/zhangsan/tensorflow/
    

    执行过程中系统会要求进入系统管理的安全设置里面,按照提示操作,并输入远程服务器登陆密码即可。
    随后在本地路径会看到如下图标,双击打开进入就是远程文件。我们对这个文件的所有操作都等同于在服务器中操作。


    每次重启电脑后要重新mount,如果觉得不方便,可以利用alias给这个命令设置别名。
    $ alias sshfs1='sshfs -C -o reconnect zhangsan@gpu-2:/home/zhangsan/tensorflow/ /Users/zhangsan/tensorflow/'
    $ source .bash_profile
    

    这样,每次执行sshfs1就相当于上面一长串的命令了。注意:等号两边没有空格
    这种修改方式只对当前终端窗口有效,再打开一个终端窗口或者重启系统就不起作用了。如果想永久使用别名,需要修改/etc/bashrc文件

    $ cd /etc/
    $ vim bashrc
    
    将alias别名命令添加到最后,然后:wq!退出。

    3. nohup print中文出现乱码

    export PYTHONIOENCODING=gbk

    相关文章

      网友评论

          本文标题:远程服务器Linux使用技巧

          本文链接:https://www.haomeiwen.com/subject/kgitwftx.html