ubuntu經常使用操做

顯卡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
相關文章
相關標籤/搜索