首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux 磁盘管理命令:hdparm设置磁盘参数\mkswap建立交换分区

Linux 磁盘管理命令:hdparm设置磁盘参数\mkswap建立交换分区

原创
作者头像
度假的小鱼
发布2025-01-20 15:32:10
发布2025-01-20 15:32:10
1.1K0
举报
文章被收录于专栏:LinuxLinux

Linux 磁盘管理命令:hdparm设置磁盘参数、mkswap建立交换分区、swapon使用交换空间、sync写入磁盘、 e2label设置卷标、 badblocks检查磁盘

hdparm:设置磁盘参数

  • 作用:hdparm 命令用来检测、显示与设定硬盘的参数。
  • 用法:hdparm选项
  • 主要选项如下:

命令

描述

-a

设定读取文件时,预先存入块区的分区数。

-A

启动或关闭读取文件时的快取功能,可选 0 或 1。

-c

设定 IDE 硬盘 32 位 I/O 模式。

-C

检测 IDE 硬盘的电源管理模式。

-d

设定磁盘的 DMA 模式,可选 0 或 1。

-f

将内存缓冲区的数据写入硬盘,并清空缓冲区。

-g

显示硬盘的磁轨、磁头、磁区等参数。

-h

显示帮助信息。

-i

显示硬盘的硬件信息,这些信息是在开机时由硬盘本身所提供的。

-I

直接读取硬盘所提供的硬件规格信息。

-k

重新设定硬盘参数时,保留-dmu 参数的设定,可选 0 或 1。

-K

重新设定硬盘参数时,保留-APSWXZ 参数的设定,可选 0 或 1。

-m<扇区数目>

设定硬盘多重分区存取的分区数。

-n

是否忽略硬盘写入时所发生的错误,可选 0 或 1。

-p<PIO 模式>

设定硬盘的 PIO 模式,可选 0、1、2、3、4、5。

-P<扇区数目>

设定硬盘内部快速存取的分区数。

-q

执行后续的参数时,不在屏幕上显示任何信息。

-r

设定硬盘的读/写模式,可选 0 或 1。

-S

设定硬盘进入省电模式前的等待时间。

-t

检测硬盘的读取数据效率。

-T

检测硬盘快速存取(即寻道时间)的读取效率。

-u

在硬盘存取数据时,是否允许其他中断要求同时执行,可选 0 或 1。

-v

显示硬盘的相关设定。

-W

设定硬盘的写入快速存取,可选 0 或 1。

-X<传输模式>

设定硬盘的传输模式。

-y

使 IDE 硬盘进入省电模式。

-Y

使 IDE 硬盘进入睡眠模式。

-Z

关闭 Seagate 硬盘的自动省电功能。

-z

重新读取硬盘分区表。

hdparm 命令是进行硬盘性能调谐的一个最常用的命令,使用这个命令前,需要对 硬盘的硬件知识有一定了解,另外需要做好数据备份。

案例练习

使用 hdparm 命令来调谐磁盘性能,步骤如下:

① 查看默认设置

代码语言:bash
复制
#hdparm –v /dev/hda

② 测试并且记录默认设置的磁盘性能。

代码语言:bash
复制
#hdparm –tT /dev/hda

③ 重新设定硬盘各项参数

代码语言:bash
复制
#hdparm -u1 -d1 -m16 -c3 -X66 /dev/hda

-u1:Linux 在处理磁盘中断时,可以响应其他中断相关的任务。 -d1:打开 DMA 模式。 -m16:改变硬盘的多路扇区的读功能。-m16 可以使得硬盘在一次 I/O 中断中读入 16 个扇区的数据。 -c3:把硬盘的 16 位模式转换为 32 位模式(32 bit mode w/sync)。 -X66:启用 DMA66 数据传输模式。

④ 记录修改设置后的磁盘性能,对比数据。如果磁盘的性能有所改进,则保存设置

代码语言:bash
复制
#hdparm –t1 /dev/hda 

mkswap:建立交换分区

  • 作用:设置交换区(swap area)。
  • 用法:mkswap 选项 交换区大小
  • 主要选项如下:

命令

描述

-c

建立交换区前,先检查是否有损坏的区块。

-f

在 SPARC 计算机上建立交换区时,要加上此参数。

-v0

建立旧式交换区,此为预设值。

-v1

建立新式交换区。

[交换区大小]

指定交换区的大小,单位为 1024 字节。

mkswap 可将磁盘分区或文件设为 Linux 的交换区。在一个文件或者设备上建立 交换区,在建立完之后要使用 swapon 指令开始使用这个交换区。最后一个选择性参 数指定了交换区的大小,但是这个参数是为了后向兼容设置的,没有使用的必要。一 般都将整个文件或设备作为交换区。

案例练习

指定一个设备作为交换区

代码语言:bash
复制
# mkswap -c -v1 -L swapnew /dev/hda3 

swapon:使用交换空间

  • 作用:swapon 命令用于激活 Linux 系统中的交换空间,Linux 系统的内存管理必须使用交 换区来建立虚拟内存。
  • 用法:swapon 选项
  • 主要选项如下:

命令

描述

-a,--all

启用/etc/fstab 中的所有交换区。

-d,--discard

在释放的页重新使用前忽略它们。

-e,--ifexists

直接跳过不存在的设备。

-f,--fixpgsz

需要时重新初始化交换空间。

-p,--priority<prio>

指定交换设备的优先级为<prio>。

-s,--summary

显示已使用交换设备的摘要。

--show[=<列>]

定义所显示摘要表格中的列。

--noheadings

不打印标题,与--show 一起使用。

--raw

使用原生输出格式,与--show 一起使用。

--bytes

在--show 选项输出中以字节显示交换区大小。

-v,--verbose

详尽模式。

-h,--help

显示此帮助并退出。

-V,--version

输出版本信息并退出。

<spec>参数如下:

命令

描述

-L<标签>

同 LABEL=<标签>。

-U<uuid>

同 UUID=<uuid>。

LABEL=<标签>

按交换区标签指定设备。

UUID=<uuid>

按交换区 UUID 指定设备。

PARTLABEL=<标签>

按分区标签指定设备。

PARTUUID=<uuid>

按分区 UUID 指定设备。

<设备>

要使用设备的名称。

<文件>

要使用文件的名称。

可用列(用于--show)如下:

命令

描述

NAME

设备文件或分区路径。

TYPE

设备的类型。

SIZE

交换区大小。

USED

已使用字节数。

PRIO

交换优先级。

案例练习

(1)创建大小为 512MB 的交换文件

代码语言:bash
复制
# dd if=/dev/zero of=/swapfile1 bs=1024 count=524288 [root@linux ~]

(2)使用 mkswap 命令设置交换文件

代码语言:bash
复制
# mkswap /swapfile1 
# 启用交换分区
# swapon /swapfile1 

swapoff:关闭系统交换分区

  • 作用:swapoff 命令用于关闭交换分区,swapon 命令用于打开交换分区。
  • 用法:swapoff 选项
  • 主要选项如下:

命令

描述

-a,--all

禁用/proc/swaps 中的所有交换区。

-v,--verbose

显示详细输出信息。

-h,--help

显示此帮助并退出。

-V,--version

输出版本信息并退出。

<指定>参数主要有如下几个:

命令

描述

-L<标签>

要使用设备的标签。

-U<uuid>

要使用设备的 UUID。

LABEL=<标签>

要使用设备的标签。

UUID=<uuid>

要使用设备的 UUID。

<设备>

要使用设备的名称。

<文件>

要使用文件的名称。

案例练习

关闭交换分区

代码语言:bash
复制
# swapoff /dev/sda2 

sync:写入磁盘

  • 作用:将内存缓冲区内的数据写入磁盘。
  • 用法:sync

说明 在 Linux 系统中,当数据需要存入磁盘时,通常会先放到缓冲区内,等到适当的 时刻再写入磁盘,如此可提高系统的执行效率。本命令无参数。

e2label:设置卷标

  • 作用:设定或显示 Ext2 或 Ext3 分区的卷标。
  • 用法:e2label device new-label
  • 主要选项如下:

命令

描述

device

分区设备名称。

new-label

新设定的卷标名称,不能超过 16 个字符。

案例练习

为一个新创建的分区建立卷标名称 goodcjh。

代码语言:bash
复制
#e2label /dev/hda9 goodcjh

badblocks:检查磁盘

  • 作用:检查磁盘中损坏的区块。
  • 用法:badblocks 选项 device [last_block start_count
  • 主要选项如下:

命令

描述

-b block_size

指定磁盘的区块大小,单位为字节。

-i input_file

读出上次检查结果中的坏块列表。

-o output_file

将检查的结果写入指定的输出文件。

-s

在检查时显示进度。

-v

在执行时显示详细的信息。

-w

在检查时执行写入测试。

-c blocks_at_once

每个区块检查的次数,默认值为 16 次。

-p num_passes

通过的数量,默认值为 0。

start_count

指定要从哪个区块开始检查。

last_block

指定结束检查的区块。

device

指定要检查的磁盘装置。

案例练习

以 4096 字节的一个区块(Block)为例,每个区块检查 16 次,将结果输入 badblocks-list (badblocks-list 是一个文本文件)

代码语言:bash
复制
#badblocks -b 4096 /dev/hda1 -o badblocks-list

如果硬盘正常的话,badblocks-list 中应该是没有任何内容的。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • hdparm:设置磁盘参数
    • 案例练习
  • mkswap:建立交换分区
    • 案例练习
  • swapon:使用交换空间
    • 案例练习
  • swapoff:关闭系统交换分区
    • 案例练习
  • sync:写入磁盘
  • e2label:设置卷标
    • 案例练习
  • badblocks:检查磁盘
    • 案例练习
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档