zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【转】CUDA5/CentOS6.4
    【转】centos 6.4 samba 安装配置
    【转】Install MATLAB 2013a on CentOS 6.4 x64 with mode silent
    【转】Getting xrdp to work on CentOS 6.4
    【VLFeat】使用matlab版本计算HOG
    Unofficial Windows Binaries for Python Extension Packages
    March 06th, 2018 Week 10th Tuesday
    March 05th, 2018 Week 10th Monday
    March 04th, 2018 Week 10th Sunday
    March 03rd, 2018 Week 9th Saturday
  • 原文地址:https://www.cnblogs.com/gmhappy/p/13457049.html
Copyright © 2011-2022 走看看