你可以透過管理員架設的網站ee20.si2.iee.nycu.edu.tw 找到所有伺服器的 CPU 用量、Memory 用量、CPU負載,使用者數量,決定你要使用哪一台工作站。點選每台伺服器的節點名稱,可以監測單一工作站的使用狀況(很好用)。
也可以在每一台伺服器,輸入"scheck"指令,會列出所有伺服器更詳細的資訊,並且會根據各伺服器狀態目前狀態,自動推薦最佳的伺服器。
輸入"chto ee21",即可切換至ee21伺服器。(chto = ssh -X -p 415) 輸入"glances"指令可以監測單一工作站的使用狀況。
本實驗室所有工作站都提供了 /RAID2 與 /tmp2 兩個檔案系統供使用者儲存資料;其中 /RAID2 是利用NFS檔案系統建構,也就是在 /RAID2 (帳號家目錄) 做的操作會在所有工作站間同步,並且採用RAID50的備份,而 /tmp2 是每台工作站本機的儲存空間,提供使用者暫時儲存大量資料。
由於 NFS 效率較差,且家目錄配額有限,如果有程式需儲存大量資料,跑大量 I/O 的程式,或者不需在工作站間同步的使用需求,建議你多加利用 /tmp2 以達到更好的使用效能。這樣可以避免運算時被網路通量卡住,也可舒緩 NFS 的負載。
/tmp2 主要為給許多指令或程式存放暫時的運算結果,運算完成要把暫時的結果刪除。請大家保持好"良好習慣",不要留一堆垃圾檔在目錄/tmp2內,尤其是波型檔案,建議參考查看與清理儲存空間,每隔一段時間要手動把 /tmp2 自己使用的目錄內的檔案清空。
/tmp2 本質上是暫存空間,管理團隊會在每個月1號自動清空/tmp2,定期清理前不會寄信通知,請務必注意清空時程。另外,/tmp2剩餘空間小於 5% 時清空時,或機器下線 / 重灌 / 升級時,亦會將資料清空,清理前會寄信通知。請注意,使用者必須自負保管資料之責任,/tmp2 不提供作為大量資料備份用途,並無採用 RAID配置,故不保證資料之完整,請自行備份。
需要注意的是,/tmp2 權限是drwxrwxrwt。那就是:任何人都能讀取與寫入,但只有文件的所有者才能刪除它,如果你不希望別人看見你的資料,請記得將目錄權限設定好,這方面工作站管理團隊不負任何管理上的責任,一切由使用者決定。
管理員提供簡單的script 來使用/tmp2
cd /tmp2
create_tmp2 (自動於/tmp2創建一個以自己username命名的資料夾並設定權限700)
cd $username
將要執行的檔案放進來 (常用指令: mv, cp, rsync, tar)
remove_tmp2 (自動刪除/tmp2當中以自己username命名的資料夾內所有檔案)
你可以透過管理員架設的網站ee20.ee.nctu.edu.tw 找到每台伺服器/tmp2使用量,當/tmp2容量超過80%時,盡量不用使用該伺服器的/tmp2。
如何避免空間超過使用量
在跑模擬時,尤其是在 Post-sim、Gate level simulation,產生的 tr0 或 fsdb檔案通常都很大(超過10G),很多使用者都會不小心超過使用限額。
注意跑模擬的測資數量or時間範圍。
在tcsh環境中,使用指令"limit filesize 10G"來限制每個程式最大產生的檔案大小為10G,超過則會自動結束程式,因此在跑post-sim 時可輸入此指令來避免不小心超出。輸入"unlimit filesize"即可還原,注意此指令只對開啟的對話窗有效,並非永久設定。在bash 環境則是使用"ulimit -f 10G"。
如何查看與清理儲存空間
在跑模擬時,產生的 tr0 或 fsdb檔案通常都很大(超過10G),很多使用者都會不小心超過使用限額。
透過"find ~/ -type f -size +1G -exec ls -l {} \;"指令,定期找出當前家目錄當中超過1G的檔案。
並透過"rm -rf $file_path "將大檔案刪除。
延伸閱讀: https://blog.miniasp.com/post/2010/08/27/Linux-find-command-tips-and-notice
透過"du -sh ./* | sort -rh | head -10"指令,找出當前資料夾內最大的10個檔案。
透過"quota -us"指令,查看個人帳號使用量。
透過"quota -gs"指令,查看群組空間使用量。
在使用工作站時,你可能會產生一些殭屍程式或背景持續執行(e.g. virtuoso &)的程式。
使用指令"limit cputime 72h"來限制每個程式最多執行3天(72 小時),超過則會自動結束程式,因此可避免單一程式執行到忘記。輸入"unlimit filesize"即可還原,注意此指令只對開啟的對話窗有效,並非永久設定。
可以透過"glances "指令,監控自己在該伺服器上跑的 process 使用量情況
可以透過"ps -u --sort=-time"指令,列出目前自己在該伺服器上跑的所有 process
--sort=-time 代表會將佔用CPU 時間最久的任務擺在最前面
當你發現自己產生了殭屍程式,或是沒有在執行的背景執行
可以先用上述的幾個指令確定 process 的 pid,
接著使用 "kill -9 $pid" ($pid 為該 process 的 pid) 來砍掉自己的 process;
也可以使用 "pkill -u $username $pattern" ($pattern 為你想要指定的名稱或格式)來砍掉符合條件的 process (如果你確定你要砍掉的 process 都有同樣的名稱或格式)。