遠程服務器Linux使用技巧

1. 釋放GPU內(nèi)存

現(xiàn)象ctrl+z中斷程序運行后,發(fā)現(xiàn)GPU內(nèi)存沒有釋放(用$ nvidia-smi命令查看)
解決辦法:kill 進程,釋放內(nèi)存

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

查找到PID號后,利用以下命令釋放內(nèi)存:

$ kill -9 11747 #  11747 is the PID number

再次執(zhí)行 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.
按照提示,執(zhí)行以下命令:

$ brew cask install osxfuse

安裝成功后再次執(zhí)行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/

執(zhí)行過程中系統(tǒng)會要求進入系統(tǒng)管理的安全設置里面,按照提示操作,并輸入遠程服務器登陸密碼即可。
隨后在本地路徑會看到如下圖標,雙擊打開進入就是遠程文件。我們對這個文件的所有操作都等同于在服務器中操作。


每次重啟電腦后要重新mount,如果覺得不方便,可以利用alias給這個命令設置別名。

$ alias sshfs1='sshfs -C -o reconnect zhangsan@gpu-2:/home/zhangsan/tensorflow/ /Users/zhangsan/tensorflow/'
$ source .bash_profile

這樣,每次執(zhí)行sshfs1就相當于上面一長串的命令了。注意:等號兩邊沒有空格
這種修改方式只對當前終端窗口有效,再打開一個終端窗口或者重啟系統(tǒng)就不起作用了。如果想永久使用別名,需要修改/etc/bashrc文件

$ cd /etc/
$ vim bashrc

將alias別名命令添加到最后,然后:wq!退出。

3. nohup print中文出現(xiàn)亂碼

export PYTHONIOENCODING=gbk

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容