由于树莓派3的默认内存只有1G,而应用程序运行过程中,存在大量的IO读写,以及网络转换,内存交换等。这样,也有很多buffer、cache资源占用等,很快就会接近1GB,最终导致可使用内存就几KB,程序稍微运行一段时间,部分就会自动crush掉;存在如下这样的问题:

(1)接收大量图片,服务占用内存较高(pandion占用310MB,osprey占用396MB)加上buffer和cache占用资源之和,接近900MB,盒子本身内存资源不足,可用内存只剩下25~27MB;这样性能比较差,传图慢,会导致挤压;

  

(2)SD卡存储空间小,可见盒子可用内存持续保持在26MB左右,本身swap分区只有100MB;

  

修改之后,检查看起来性能相对稍微强一点。下面简要记录一下swap扩展分区:

一.Linux下察看swap分区大小的命令
  top
  或者fdisk -l
  或者free -m
  SWAP分区一般大小为物理内存的2倍,但最大不超过2G;

二.swap增加方法

  增加SWAP空间的方法有两个:增加另外一个SWAP分区,或通过创建一个SWAP文件来实现。

  一)增加一个SWAP分区:
  1)创建一个SWAP分区: fdisk -l /dev/cciss/c0d0 (m---p ---n --t (将分区格式转换成 82)--w)(如/dev/cciss/c0d0p6)
  2)格式化分区:mkswap -c v1 /dev/cciss/c0d06;
  3)修改/etc/fstab文件,增加
  /dev/cciss/c0d0p6 swap swap default 0 0
  4)激活swap分区:swapon -a /dev/cciss/c0d0p6;
  5) 查看swap 分区:swapon -s 或 free 或 cat /proc/swaps

  二)增加一个SWAP文件;
  1)dd if=/dev/zero of=/tmp/tmp.swap bs=1M count =100;( 建立一个100M的文件);
  2)mkswap /tmp/tmp.swap; (标识为SWAP文件)
  3)swapon /tmp/tmp.swap;(激活SWAP文件)
  4)修改/etc/fstab文件,增加以下内容:
  /tmp/tmp.swap swap swap default 0 0
  5)swapon -s 或free 或cat /proc/swaps 查看。

  三)删除SWAP分区:
  1) swapoff /dev/cciss/c0d0p6;
  2) 修改/etc/fstab文件。

参考实践脚本:

dd if=/dev/zero of=/tmp/tmp.swap bs=1M count=;
mkswap /tmp/tmp.swap;

swapon /tmp/tmp.swap;

# sudo vi /etc/fstab
# /tmp/tmp.swap swap swap default 0 sudo cp /etc/fstab /etc/fstab.bak sudo sed -i '5i /tmp/tmp.swap swap swap default 0 0' /etc/fstab
 

验证可用。

参考:

dd if=/dev/zero of=/mnt/swap bs=1M count=
mkswap /mnt/swap
chmod /mnt/swap
swapon /mnt/swap
vi /etc/fstab

a

【树莓派】为树莓派配置或扩展swap分区的更多相关文章

  1. 为linux扩展swap分区

    1.查看当前swap分区使用情况 [root@localhost ~]# swapon -s Filename Type Size Used Priority /dev/sda2            ...

  2. 扩展swap分区

    swap分区在系统的物理内存不够用时,把硬盘的一部分空间释放出来,以供当前运行的程序使用.(临时使用,如果swap分区都不够了还是直接加内存吧) (1).步骤 mkswap /devices(可以是分 ...

  3. 目录方式扩展swap分区大小

    1.查看swap大小:free  -m  (-k|m|g) --以k|m|g为单位用去尾法显示大小  [root@lbg tmp]# free -m total        used        ...

  4. Linux扩展swap分区

    一.将sda磁盘进行分区: 先查看sda磁盘已经使用了多少主分区,如下图所示,主分区已使用3个,所以应选择扩展分区: 二.再将扩展分区进行分区: 三.分区完成后执行partprobe使系统重新识别分区 ...

  5. swap分区的扩展

    Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况.swap分区在非高内存的服务器上必不可少,但是s ...

  6. 管理员技术(六): 硬盘分区及格式化、 新建一个逻辑卷、调整现有磁盘的分区、扩展逻辑卷的大小、添加一个swap分区

    一.硬盘分区及格式化 问题: 本例要求熟悉硬盘分区结构,使用fdisk分区工具在磁盘 /dev/vdb 上按以下要求建立分区: 1> 采用默认的 msdos 分区模式        2> ...

  7. CentOS7 下 swap 分区的创建、删除及相关配置

    一般我们在购买云服务器(例如:阿里云ECS.腾讯云服务器)的时候,选择 CentOS 7 系统之后,登录系统,发现 swap 大小为 0(即没有分配). 如果我们想在该 服务器上安装 Oracle 数 ...

  8. 如何扩展/删除swap分区

    背景:         由于安装Oracle 的时候,swap太小只划分了4G,后期发现交换分区太小,不满足使用,于是进行了swap分区的扩容过程: swap分区的扩展很简单,但是需要root用户权限 ...

  9. CentOS7下swap分区创建(添加),删除以及相关配置

    在添加swap分区之前我们可以了解下当前系统swap是否存在以及使用情况,可用: 1. free –h 或 swapon –s 了解硬盘使用情况(一般/dev/vda1为挂载硬盘): 1. df –h ...

随机推荐

  1. java程序包不存在

    当把classpath和path设置好之后. 自己写了个类的,然后放在test_package\mypackage路径下.主函数要用到.但是却出错了. 我一开始怀疑自己的classpath配置错了,在 ...

  2. 解决Appium无元素可选的如何定位

    1.首先我们看看要定位的东西,我要定位的就是折让率上图自己看 写代码:   AndroidElement element = driver.findElementByAndroidUIAutomato ...

  3. vuejs子组件向父组件传递数据

    子组件通过$emit方法向父组件发送数据,子组件在父组件的模板中,通过自定义事件接收到数据,并通过自定义函数操作数据 <!DOCTYPE html> <html lang=" ...

  4. js求三位数的和

    例如输入508就输出5+0+8的和13: <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  5. Access中的自定义排序设置方式

    一.问题起因 最近有网友提问说,Access中在用查询指定排序方式时,为什么只有升序跟降序,怎么米有自定义排序了?竟然比Excel都弱啊! 其实这是对Access的误解,我这就给大家来解一下疑惑.案例 ...

  6. 老李推荐:第1章2节《MonkeyRunner源码剖析》概述:边界

    老李推荐:第1章2节<MonkeyRunner源码剖析>概述:边界   边界 怎么样才算分析清楚一个事物的原理是什么呢?就以前面提到的<LINUX内核源代码情景分析>为例子,分 ...

  7. QTP自动化测试培训:描述编程之WebElement

    QTP自动化测试培训:描述编程之WebElement   通过描述性编程技术,来描述出来输入框: set po=browser("creationtime:=0").page(&q ...

  8. 达到工业使用质量级别的类似于QQ截屏的软件

    到网上查找截屏发现基本都是一些小孩子的初级玩意,功能强大一点的又没有源代码所以自己花了三四天时间写了一个能达到工业使用质量级别的截图控件. 优点:1.代码量小只有1500行代码 2.结构清晰简单极易于 ...

  9. Angularjs 动态添加指令并绑定事件

    先说使用场景,动态生成DOM元素并绑定事件,非常常见的一种场景,用jq实现效果: http://jsbin.com/gajizuyuju/edit?html,js,output var count=0 ...

  10. node.js框架express的安装

    node.js框架express的安装 首先假定你已经安装了 Node.js,接下来为你的应用创建一个目录,然后进入此目录并将其作为当前工作目录. $ mkdir myapp $ cd myapp 通 ...