顯卡GPUlinux
查看顯卡信息 sudo lshw -numeric -class video # 查看顯卡型號 lspci | grep -i nvidia # 查看驅動版本 sudo dpkg --list | grep nvidia-* 或者 ubuntu-drivers devices #查看顯卡使用狀況 nvidia-smi(顯示一次當前GPU佔用狀況) nvidia-smi -l(每秒刷新一次並顯示) watch 命令週期性執行某一命令,並將輸出全屏顯示 watch的基本用法是 watch [options] command 最經常使用的參數是 -n, 後面指定是每多少秒來執行一次命令。 #監視顯存,設置爲每 10s 顯示一次顯存的狀況 watch -n 10 nvidia-smi 第一欄的Fan:N/A是風扇轉速,從0到100%之間變更,這個速度是計算機指望的風扇轉速,實際狀況下若是風扇堵轉,可能打不到顯示的轉速。有的設備不會返回轉速,由於它不依賴風扇冷卻而是經過其餘外設保持低溫 第二欄的Temp:是溫度,單位攝氏度。 第三欄的Perf:是性能狀態,從P0到P12,P0表示最大性能,P12表示狀態最小性能。 第四欄下方的Pwr:是能耗,上方的Persistence-M:是持續模式的狀態,持續模式雖然耗能大,可是在新的GPU應用啓動時,花費的時間更少,這裏顯示的是off的狀態。 第五欄的Bus-Id是涉及GPU總線的東西 第六欄的Disp.A是Display Active,表示GPU的顯示是否初始化。 第五第六欄下方的Memory Usage是顯存使用率。 第七欄是浮動的GPU利用率。 第八欄上方是關於ECC的東西。 第八欄下方Compute M是計算模式。 下面一張表示每一個進程佔用的顯存使用率。 #顯卡被佔滿,進程看不出來: sudo fuser /dev/nvidia*
top命令,查看進程ios
ps -aux 查看全部進程,每行一個程序 top 顯示當前運行程序 P:根據CPU使用大小進行排序。 T:根據時間、累計時間排序。 q:退出top命令。 m:切換顯示內存信息。 t:切換顯示進程和CPU狀態信息。 c:切換顯示命令名稱和完整命令行。 M:根據使用內存大小進行排序。 W:將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。 #顯示參數: PID(Process ID):進程標示號。 USER:進程全部者的用戶名。 PR:進程的優先級別。 NI:進程的優先級別數值。 VIRT:進程佔用的虛擬內存值。 RES:進程佔用的物理內存值。 SHR:進程使用的共享內存值。 S:進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數。 %CPU:該進程佔用的CPU使用率。 %MEM:該進程佔用的物理內存和總內存的百分比。 TIME+:該進程啓動後佔用的總的CPU時間。 Command:進程啓動的啓動命令名稱,若是這一行顯示不下,進程會有一個完整的命令行。 #或者安裝htop,使用htop更直接
free 查看內存使用狀況ubuntu
$ free 說明:free命令用來顯示內存的使用狀況,使用權限是全部用戶。 free [-b-k-m] [-o] [-s delay] [-t] [-V] 主要參數 -b -k -m:分別以字節(KB、MB)爲單位顯示內存使用狀況。 -s delay:顯示每隔多少秒數來顯示一次內存使用狀況。 -t:顯示內存總和列。 -o:不顯示緩衝區調節列。
uptime 更新系統運行時間,負載信息緩存
18:59:15 up 25 min, 2 users, load average: 1.23, 1.32, 1.21 如今的時間 系統開機運轉到如今通過的時間 連線的使用者數量 最近一分鐘,五分鐘和十五分鐘的系統負載 參數: -V 顯示版本資訊。
vmstat 顯示磁盤活動 狀況安全
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70 磁盤活動狀況主要從如下幾個指標瞭解: bi:表示從磁盤每秒讀取的塊數(blocks/s)。數字越大,表示讀磁盤的活動越多。 bo:表示每秒寫到磁盤的塊數(blocks/s)。數字越大,表示寫磁盤的活動越多。 wa:cpu等待磁盤I/O(未決的磁盤IO)的時間比例。數字越大,表示文件系統活動阻礙cpu的狀況越嚴重,由於cpu在等待慢速的磁盤系統提供數據。wa爲0是最理想的。若是wa常常大於10,可能文件系統就須要進行性能調整了。 推薦:查看cpu活動狀況,使用vmstat比top更能反映出cpu的使用狀況: us:用戶程序使用cpu的時間比例。這個數字越大,表示用戶進程越繁忙。 sy:系統調用使用cpu的時間比例。注意,NFS因爲是在內核裏面運行的,因此NFS活動所佔用的cpu時間反映在sy裏面。這個數字常常很大的 話,就須要注意是否某個內核進程,好比NFS任務比較繁重。若是us和sy同時都比較大的話,就須要考慮將某些用戶程序分離到另外的服務器上面,以避免互相 影響。 id:cpu空閒的時間比例。 wa:cpu等待未決的磁盤IO的時間比例。
iostat 用於統計CPU的使用狀況及tty設備、硬盤和CD-ROM的I/0量服務器
-c 只顯示CPU行 -d 顯示磁盤行 -k 以千字節爲單位顯示磁盤輸出 -t 在輸出中包括時間戳 -x 在輸出中包括擴展的磁盤指標 avg-cpu: %user %nice %sys %iowait %idle 20.25 0.18 2.61 76.39 0.57 %iowait 等待本地I/O時CPU空閒時間的百分比 %idle 未等待本地I/O時CPU空閒時間的百分比 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn hda 9.86 284.34 84.48 685407 2036 每秒傳輸數(tps)、每秒512字節塊讀取數(Blk_read/s)、每秒512字節塊寫入數(Blk_wrtn/s)和512字節塊讀取(Blk_read)和寫入(Blk_wrtn)的總數量。 6 gnome-system-monitor 打開ubuntu下的任務管理器
SCP:架構
scp是secure copy的簡寫,用於在Linux下進行遠程拷貝文件的命令,和它相似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器,並且scp傳輸是加密的。可能會稍微影響一下速度。當你服務器硬盤變爲只讀 read only system時,用scp能夠幫你把文件移出來。另外,scp還很是不佔資源,不會提升多少系統負荷,在這一點上,rsync就遠遠不及它了。雖然 rsync比scp會快一點,但當小文件衆多的狀況下,rsync會致使硬盤I/O很是高,而scp基本不影響系統正常使用。 兩臺機器IP分別爲:A.104.238.161.75,B.43.224.34.73。 #在A服務器上操做,將B服務器上/home/lk/目錄下全部的文件所有複製到本地的/root目錄下 scp -r root@43.224.34.73:/home/lk /root #在A服務器上將/root/lk目錄下全部的文件傳輸到B的/home/lk/cpfile目錄下 scp -r /root/lk root@43.224.34.73:/home/lk/cpfile 1.命令格式: scp [參數] [原路徑] [目標路徑] 2.命令功能: scp是 secure copy的縮寫, scp是linux系統下基於ssh登錄進行安全的遠程文件拷貝命令。linux的scp命令能夠在linux服務器之間複製文件和目錄。 3.命令參數: -1 強制scp命令使用協議ssh1 -2 強制scp命令使用協議ssh2 -4 強制scp命令只使用IPv4尋址 -6 強制scp命令只使用IPv6尋址 -B 使用批處理模式(傳輸過程當中不詢問傳輸口令或短語) -C 容許壓縮。(將-C標誌傳遞給ssh,從而打開壓縮功能) -p 保留原文件的修改時間,訪問時間和訪問權限。 -q 不顯示傳輸進度條。 -r 遞歸複製整個目錄。 -v 詳細方式顯示輸出。scp和ssh(1)會顯示出整個過程的調試信息。這些信息用於調試鏈接,驗證和配置問題。 -c cipher 以cipher將數據傳輸進行加密,這個選項將直接傳遞給ssh。 -F ssh_config 指定一個替代的ssh配置文件,此參數直接傳遞給ssh。 -i identity_file 從指定文件中讀取傳輸時使用的密鑰文件,此參數直接傳遞給ssh。 -l limit 限定用戶所能使用的帶寬,以Kbit/s爲單位。 -o ssh_option 若是習慣於使用ssh_config(5)中的參數傳遞方式, -P port 注意是大寫的P, port是指定數據傳輸用到的端口號 -S program 指定加密傳輸時所使用的程序。此程序必須可以理解ssh(1)的選項。 4.使用實例: 從本地服務器複製到遠程服務器: (1) 複製文件: scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file 或者 scp local_file remote_ip:remote_folder 或者 scp local_file remote_ip:remote_file 第1,2個指定了用戶名,命令執行後須要輸入用戶密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名 第3,4個沒有指定用戶名,命令執行後須要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名 (2) 複製目錄: scp -r local_folder remote_username@remote_ip:remote_folder 或者 scp -r local_folder remote_ip:remote_folder 第1個指定了用戶名,命令執行後須要輸入用戶密碼; 第2個沒有指定用戶名,命令執行後須要輸入用戶名和密碼;
SSHssh
安裝ssh #本地主機運行此條,實際上一般是默認安裝client端程序的 sudo apt install openssh-client #服務器運行此條命令安裝 sudo apt install openssh-server 安裝完默認啓動,也能夠手動啓動 輸入"sudo ps -e |grep ssh"-->回車-->有sshd,說明ssh服務已經啓動,若是沒有啓動 sudo /etc/init.d/ssh start #服務器啓動ssh-server服務, sudo /etc/init.d/ssh stop #server中止ssh服務 sudo /etc/init.d/ssh restart #server重啓ssh服務 鏈接ssh ssh yj@192.168.0.101 要輸入的密碼是服務器主機自己的登錄密碼: 退出 用Ctrl+D或者exit
壓縮與打包socket
zip是比較經常使用的文檔壓縮格式,最大的有點是跨平臺,缺點是支持的壓縮率不是很高。 #壓縮 zip -r studio.zip directory_to_compress #解壓 unzip studio.zip TAR好處是隻消耗很是少的CPU及時間打包,只是一個打包工具,並不負責壓縮。 tar -cvf studio.tar directory_to_compress #解包到當前目錄下 tar -xvf studio.tar #到指定目錄下 tar -xvf studio.tar -C /tmp/extract/ TAR.GZ 壓縮時不會佔用太多的CPU,就能夠獲得一個很是理想的壓縮率。 #壓縮 tar -zcvf studio.tar.gz directory_to_compress #解壓 #到當前目錄 tar -zxvf studio.tar.gz #到指定目錄 tar -zxvf studio.tar.gz -C /tmp/extract/ TAR.BZ2 這種壓縮格式是這幾種方式中壓縮率最好的 tar -jcvf studio.tar.bz2 directory_to_compress #解壓 #到當前目錄 tar -jxvf studio.tar.bz2 #到指定目錄 tar -jxvf studio.tar.bz2 -C /tmp/extract/
關於端口ide
查看服務端口 #查看已經鏈接的服務端口(ESTABLISHED) netstat -a #查看全部的服務端口(LISTEN,ESTABLISHED) netstat -ap 查看指定端口 #查看指定端口,能夠結合grep命令 netstat -ap | grep 8080 #也可使用lsof命令 lsof -i:8080 關閉端口使用 #若要關閉使用這個端口的程序,使用kill + 對應的pid kill -9 PID號 ps:kill就是給某個進程id發送了一個信號。默認發送的信號是SIGTERM,而kill -9發送的信號是SIGKILL,即exit。exit信號不會被系統阻塞,因此kill -9能順利殺掉進程。
關於本機或者服務器硬件信息查看
#如何查看電腦CPU核數 more /proc/cpuinfo |grep "physical id"|uniq|wc -l #每一個cpu是幾核(假設cpu配置相同) more /proc/cpuinfo |grep "physical id"|grep "0"|wc -l cat /proc/cpuinfo | grep processor #1. 查看物理CPU的個數 cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l #2. 查看邏輯CPU的個數 cat /proc/cpuinfo |grep "processor"|wc -l #3. 查看CPU是幾核 cat /proc/cpuinfo |grep "cores"|uniq #4. 查看CPU的主頻 cat /proc/cpuinfo |grep MHz|uniq #(查看當前操做系統內核信息) uname -a Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux #查看當前操做系統發行版信息 cat /etc/issue | grep Linux Red Hat Enterprise Linux AS release 4 (Nahant Update 5) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz (看到有8個邏輯CPU, 也知道了CPU型號) # cat /proc/cpuinfo | grep physical | uniq -c 4 physical id : 0 4 physical id : 1 #(說明其實是兩顆4核的CPU) # getconf LONG_BIT 32 (說明當前CPU運行在32bit模式下, 但不表明CPU不支持64bit) # cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l 8 (結果大於0, 說明支持64bit計算. lm指long mode, 支持lm則是64bit) #如何得到CPU的詳細信息: cat /proc/cpuinfo #邏輯CPU個數: cat /proc/cpuinfo | grep "processor" | wc -l #物理CPU個數: cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l #每一個物理CPU中Core的個數: cat /proc/cpuinfo | grep "cpu cores" | wc -l #是否爲超線程? 若是有兩個邏輯CPU具備相同的」core id」,那麼超線程是打開的。 #每一個物理CPU中邏輯CPU(多是core, threads或both)的個數: cat /proc/cpuinfo | grep "siblings" #lscpu Architecture: i686 #架構686 CPU(s): 2 #邏輯cpu顆數是2 Thread(s) per core: 1 #每一個核心線程數是1 Core(s) per socket: 2 #每一個cpu插槽核數/每顆物理cpu核數是2 CPU socket(s): 1 #cpu插槽數是1 Vendor ID: GenuineIntel #cpu廠商ID是GenuineIntel CPU family: 6 #cpu系列是6 Model: 23 #型號23 Stepping: 10 #步進是10 CPU MHz: 800.000 #cpu主頻是800MHz Virtualization: VT-x #cpu支持的虛擬化技術VT-x L1d cache: 32K #一級緩存32K(google了下,這具體表示表示cpu的L1數據緩存爲32k) L1i cache: 32K #一級緩存32K(具體爲L1指令緩存爲32K) L2 cache: 3072K #二級緩存3072K