jeston nano 刷機及開發環境搭建(二)

設置交換分區

1.首先來了解一下什麼是Swap

Swap分區(也稱交換分區)是硬盤上的一個區域,被指定爲操作系統可以臨時存儲數據的地方,這些數據不能再保存在RAM中。 基本上,這使您能夠增加服務器在工作“內存”中保留的信息量,但有一些注意事項,主要是當RAM中沒有足夠的空間容納正在使用的應用程序數據時,將使用硬盤驅動器上的交換空間。

寫入磁盤的信息將比保存在RAM中的信息慢得多,但是操作系統更願意將應用程序數據保存在內存中,並使用交換舊數據。 總的來說,當系統的RAM耗盡時,將交換空間作爲回落空間可能是一個很好的安全網,可防止非SSD存儲系統出現內存不足的情況。

2.檢查系統的交換信息

在開始之前,我們可以檢查系統是否已經有一些可用的交換空間,可能有多個交換文件或交換分區,但通常應該是足夠的。我們可以通過如下的命令來查看系統是否有交換分區:
sudo swapon --show
如果沒有任何結果或者沒有任何顯示,說明系統當前沒有可用的交換空間。也可以使用free工具來驗證當前確實沒有可用的交換分區。
free -h
在這裏插入圖片描述
當的”swap”行均爲0,就是說系統上沒有交換處於活動狀態。

3.檢查硬盤驅動器分區上的可用空間

爲swap分配空間的最常見方式是使用專門用於具體某個任務的單獨分, 但是,改變分區方案並不是一定可行的,我們只是可以輕鬆地創建駐留在現有分區上的交換文件。

在開始之前,我們應該通過輸入以下命令來檢查當前磁盤的使用情況:

df -h
在這裏插入圖片描述
在這種情況下,/dev下的設備是我們的磁盤。
儘管對於交換空間的適當大小有許多意見,但這取決於您的個人偏好和應用程序要求。 一般來說,相當於系統內存量的兩倍或者兩倍是一個很好的起點。 另一個很好的經驗是,如果你只是把它用作RAM備用,那麼swap分區的大小盡量不要超過4 GB。

4.創建swap文件

現在我們知道了可用的硬盤空間,那我們就可以在文件系統中創建一個交換文件,我們將在我們的根(/)目錄下創建一個名爲swapfile的文件。創建交換文件最好的方法是使用fallocate命令,這個命令能立即創建一個預分配大小的文件。由於本示例中的服務器RAM的大小爲512MB,因此我們將在本教程中創建一個1 GB大小的文件,並適當加以調整,以滿足您自己的服務器的需求:

sudo fallocate -l 8G swapfile
創建完成之後,我們可以通過這個命令來驗證是否保留了正確的交換空間:
ls -lh swapfile
顯示結果:

rw-r–r-- 1 root root 8.0G Apr 25 11:14 swapfile
這就說明我們的文件已經創建了正確的空間大小。

5.啓用交換文件

現在我們有一個8 GB大小的文件,我們需要把它變成交換空間

首先,我們需要鎖定文件的權限,以便只有擁有root權限的用戶才能讀取文件內容,這可以防止普通用戶能夠訪問該文件,以免造成重大的安全隱患。

鎖定文件的root權限:
sudo chmod 600 swapfile
驗證權限:
ls -lh swapfile
顯示結果:

-rw------- 1 root root 8.0G Apr 25 11:14 swapfile

可以看到,只有root用戶啓用了讀寫標誌。
接下來,我們可以通過以下命令將文件標記爲交換空間
sudo mkswap swapfile
標記文件之後,我們可以啓用該交換文件,讓我們的系統開始使用它:
sudo swapon swapfile
可以通過以下命令驗證交換空間是否可用:
sudo swapon --show
顯示結果:
在這裏插入圖片描述
這時,我們可以通過free再次查看我們的設置:
free -h
顯示結果:
在這裏插入圖片描述
可以看到swap分區已成功創建,大小爲8.0 G,操作系統將在必要時使用。
永久保留交換文件

我們最近的更改啓用了當前會話的swap文件,但是,如果我們重新啓動,服務器不會自動保留swap設置,我們可以通過將swap文件添加到/etc/fstab文件中來改變這一點。
備份/etc/fstab文件以防出錯:
sudo cp /etc/fstab /etc/fstab.bak
將swap文件信息添加到/etc/fstab文件的末尾:

注意替換成自己機器交換分區的位置

echo 'swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
這樣就保留了swap文件。

7.調整你的交換設置

在處理交換時,可以配置幾個選項,這些選項會影響系統的性能

7.1 調整swappiness屬性

swappiness參數配置您的系統將數據從RAM交換到交換空間的頻率, 值介於0和100之間,表示百分比。如果swappiness值接近0,內核將不會將數據交換到磁盤,除非絕對必要。要記住一點,與swap文件的交互是“昂貴的”,因爲與swap交互花費的時間比與RAM的交互更長,並且會導致性能的顯著下降。系統更少依賴swap分區通常會使你的系統更快。swappiness接近100的值將嘗試將更多的數據放入交換中,以保持更多的RAM空間。根據您的應用程序的內存配置文件或您使用的服務器,這可能會在某些情況下更好。
查看當前的swappiness值:
cat /proc/sys/vm/swappiness
結果顯示:

60

對於桌面系統來說,60的swappiness設置不是一個比較壞的值,但是對於服務器,您可能希望將其設置與0更接近的值。

我們可以使用sysctl命令將swappiness設置爲不同的值,例如,要將swappiness設置爲25:

sudo sysctl vm.swappiness=25

顯示結果:

vm.swappiness = 25

該設置將保持到系統下次重新啓動,如果想要在重啓之後也生效,我們可以通過在/etc/sysctl.conf文件中添加一行實現:

sudo vim /etc/sysctl.conf
在文件的最後添加:
vm.swappiness=25
完成後保存並關閉文件。

7.2 調整緩存壓力設置

您可能想要修改的另一個相關值是vfs_cache_pressure,這個設置配置系統將選擇多少數據緩存inode和dentry信息。基本上,這是訪問有關文件系統的數據,通常是非常耗時的查詢和頻繁要求,所以這是一個很好的事情,讓您的系統緩存,您可以通過再次查詢proc文件系統來查看當前值。

cat /proc/sys/vm/vfs_cache_pressure
輸出結果:

100

這個配置可能使我們的系統太快地從緩存中刪除inode信息。 我們可以設置一個更保守的值,比如50。

sudo sysctl vm.vfs_cache_pressure=50
顯示結果:

vm.vfs_cache_pressure = 50

和swappiness類似,這隻對當前的session有效,我們可以通過將其添加到我們的配置文件來改變它,就像我們使用我們的swappiness設置一樣:
sudo vim /etc/sysctl.conf
在末尾添加:
vm.vfs_cache_pressure=50
完成後保存並關閉文件。

pypi

pypi 鏡像每 5 分鐘同步一次。

臨時使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
注意,simple 不能少, 是 https 而不是 http
設爲默認
升級 pip 到最新的版本 (>=10.0.0) 後進行配置:
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
如果您到 pip 默認源的網絡連接較差,臨時使用本鏡像站來升級 pip:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U

pillow

安裝依賴
sudo apt-get install libjpeg8 libjpeg62-dev libfreetype6 libfreetype6-dev
sudo python3 -m pip install -i https://mirrors.aliyun.com/pypi/simple pillow

torch

sudo pip3 install torch-1.1.0-cp36-cp36m-linux_aarch64.whl
pip 直接安裝只支持到0.2.2版本
sudo pip3 install torchvision==0.2.2
要是安裝0.3.0以上版本,需要自行編譯

git clone -b v0.3.0 https://github.com/pytorch/vision torchvision
cd torchvision
sudo python3 setup.py install

mxnet

sudo pip3 install mxnet-1.4.0-cp36-cp36m-linux_aarch64.whl

tensorflow

sudo apt-get install python3-pip libhdf5-serial-dev hdf5-tools
pip3 install /home/ubuntu/tensorflow_gpu-1.14.0+nv19.10-cp36-cp36m-linux_aarch64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo apt-get install python3-skimage

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章