由于树莓派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. ng2响应式表单-翻译与概括官网REACTIVE FORMS页面

    本文将半翻译半总结的讲讲ng2官网的另一个未翻译高级教程页面. 原文地址. 文章目的是使用ng2提供的响应式表单技术快速搭出功能完善丰富的界面表单组件. 响应式表单是一项响应式风格的ng2技术,本文将 ...

  2. iOS开发之Autolayout

    1.概述 在以前的iOS程序中,是如何设置布局UI界面的? (1)经常编写大量的坐标计算代码 (2)为了保证在3.5 inch和4.0 inch屏幕上都能有完美的UI界面效果,有时还需要分别为2种屏幕 ...

  3. TensorFlow安装-windows系统

    官方各版本的安装说明:https://www.tensorflow.org/install/ 本文介绍如何在windows环境下安装tensorflow, 跑起来简单的demo. 1.安装python ...

  4. 分类算法——k最近邻算法(Python实现)(文末附工程源代码)

    kNN算法原理 k最近邻(k-Nearest Neighbor)算法是比较简单的机器学习算法.它采用测量不同特征值之间的距离方法进行分类,思想很简单:如果一个样本在特征空间中的k个最近邻(最相似)的样 ...

  5. Akamai在内容分发网络中的算法研究(翻译总结)

    作者 | 钱坤 钱坤,腾讯后台开发工程师,从事领域为流媒体CDN相关,参与腾讯TVideo平台开发维护. 原文是<Algorithmic Nuggets in Content Delivery& ...

  6. pacejs进度条监控服务端数据加载是否完毕

    记得刚刚入职新公司的时候,公司在做app里面的h5页面.跟之前公司的流程不太一样.之前都是写完静态页面后通过ajax加载接口数据,这公司省事了,写完静态页面直接扔给服务端,他们来填数据,确实给前端省事 ...

  7. mvalidator手机端校验

    官网地址:https://github.com/efri-yang/mobileValidate#%E5%8F%82%E6%95%B0 使用方法: html如下: <li class=" ...

  8. Appium手势密码滑动之Z字形走势(java篇)

    1.直接使用负的偏移量appium会报错,在后面加上moveto(1,1)就行了 2.直接看图说话 废话少说看代码如: List<AndroidElement> element = dri ...

  9. JS——控制标记的样式

    1.定义一个div,宽度为100px,高度为100px,背景色为粉色. 定义一个事件,鼠标移入时背景色变为蓝色,宽度变为200px. 定义一个事件,鼠标移出时背景色变为红色. html文件: < ...

  10. 手机自动化测试:appium源码分析之bootstrap二

    手机自动化测试:appium源码分析之bootstrap二   在bootstrap项目中的io.appium.android.bootstrap.handler包中的类都是对应的指令类, priva ...