Linux下构造分区满的两种方式

我们都知道Linux提供了特殊设备/dev/full来供测试磁盘满的情况,然而它只对文件有效。对于使用固定文件名或可预测的文件名的程序,一般/dev/full就能满足需要了。对于文件名由某种不可预测的方式生成的程序,还需要构造一个写满的分区。一种显而易见的方式是创建一个真的分区,然后写满,然而操作起来却比较麻烦。本文提供其他两种相对简单的方式。

使用内存盘

基本原理为将内存挂载为一个磁盘,然后使用dd写满。Linux支持两种内存盘,ramfs和tmpfs. Ramfs必须使用物理内存,无法利用swap分区,在写入时会逐渐增长直至用尽全部的内存,也就是无法人为设置分区大小,因此不适用于构造分区满的场景。Tmpfs可以使用物理内存和swap分区,并且支持设置分区大小。因此,我们使用tmpfs来构造分区满。

mkdir -p /mnt/ramdisk
mount -t tmpfs -o size=1m tmpfs /mnt/ramdisk
dd if=/dev/zero of=/mnt/ramdisk/test size=1m count=1

使用loop设备

基本原理为创建一个1M大小的文件,在其上创建EXT2分区,以loop的方式挂载为分区,然后用dd写满。

dd if=/dev/zero of=a.img bs=1M count=1
mkdir -p /mnt/loop
mkfs.ext2 a.img
mount -t ext2 -o loop a.img /mnt/loop
dd if=/dev/zero of=/mnt/loop/file bs=1M count=1

时间: 2024-10-25 22:16:29

Linux下构造分区满的两种方式的相关文章

linux ---JDK的安装与配置--两种方式

linux下的JDK的安装与配置:JDK的安装有两种方式: tar包和rpm安装1.tar包安装: 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 我用的是:jdk-7u67-linux-x64.tar.gz 1.解压: tar -xvf jdk-7u67-linux-x64.tar.gz 2.在/usr/local/下新建一个java目录,mkdir java 3.

Linux下配置IP地址的几种方式--------CentOS 6.X

Linux配置IP地址 Linux下一切皆文件,要想配置的参数永久有效基本上要修改配置文件.以下主要讲怎么使用ifconfig,route,ip等命令配置IP地址等相关参数并配置相关配置文件使其永久有效.主要使用CentOS 6系列 重启网络服务 从CentOS 6系列开始系统默认使用 /etc/init.d/NetworkManager脚本管理网络服务.但也可使用/etc/init.d/network来管理.NetworkManager不支持网络桥接等高级功能.以下使用实例 NetworkMa

Linux下修改Mysql密码的三种方式,测试过效果,能正常使用

个人分类: mysql修改密码linux修改mysql密码软件编程 有时我们会忘记Mysql的密码,或者想改一个密码,以下将对这两种情况修改密码的三种解决方法做个总结 本文都以用户为 root 为例: 一.拥有原来的myql的root的密码: 方法一: 在mysql系统外,使用mysqladmin mysqladmin -u root -p password "test123"Enter password: [输入原来的密码]方法二: 通过登录mysql系统, mysql -uroot

oracle 10g下范围分区扫描的几种方式

oracle 10g下有几种扫描方式,注意最后一种扫描方式,当对分区的列进行计算时,会不走分区.这跟对索引列进行计算会导致无法用索引一样. --扫描单个分区  PARTITION RANGE SINGLE --连续扫描多个分区 PARTITION RANGE ITERATOR --不连续扫描多个分区  PARTITION RANGE INLIST --扫描全分区 PARTITION RANGE ALL SQL> drop table t_range purge; SQL> create tab

myeclipse下导入架包的两种方式

第一种:直接复制自己需要的架包,然后在myeclipse的项目工程下建立一个文件夹(注意不是src),取名为lib,全选lib中的文件,右键选择Build Path,选择Add to Build Path. 第二种:右键单击项目工程,选择最后的properties,在libraries下的右面选择Add library;选择user library,进入后单击user libraries,再单击New为自己的架包取名,最后add jars选择自己需要的架包放入.

Linux服务器之间传送文件的两种方式

方式一: scp [优点]简单方便,安全可靠:支持限速参数 [缺点]不支持排除目录 [用法] scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 . scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径> 举例: scp /home/work/source.txt [email protected]:

Linux系统修改系统时间的两种方式

1.查看当前时间[[email protected] ~]# date2018年 03月 12日 星期一 22:32:44 CST 2.修改系统时间(重启失效)[[email protected] ~]# date -s "2018-03-21 16:02:00"2018年 03月 21日 星期三 16:02:00 CST[[email protected] ~]# date2018年 03月 21日 星期三 16:02:03 CST 3.修改系统时间(重启不失效)[[email pr

在装完Linux系统之后自己去修改Swap分区的大小(两种方法)

在装完Linux系统之后自己去修改Swap分区的大小(两种方法) 在安装完Linux系统后,swap分区太小怎么办,怎么可以扩大Swap分区呢?有两个办法,一个是从新建立swap分区,一个是增加swap分区.下面介绍这两种方法: 第一您必须有root权限,过程中一定要很小心,一不小心就破坏了整个硬盘的数据,执行下面的过程之前您需要三思而行,错误操作后的后果由执行者自己承担. 新建swap分区 1.以root身份进入控制台,输入 # swapoff -a          #停止交换分区 2. 用

Hyper-V 下linux虚拟机静态IP上网配置的两种方式(1)

工作需要,搭建linux环境,网上搜了两种Hyper-V配置linux静态IP及上网的方式,记录一下,方便查阅,如下是桥接方式的配置: 本实例所用的各项资源说明,系统是windows10企业版64bit,虚拟机管理器使用自带的Hyper-V管理器,虚拟机安装的系统是CentOS7.如下图所示:   首先创建虚拟交换机.在Hyper-V管理器中的虚拟交换机管理器中新建虚拟交换机, 类型使用内部(之前使用外部一直没有成功,原因暂不明确),步骤图如下:   配置完上一步骤后,在网络连接中查看所有适配器