为何更改为 4096 字节扇区? 如果您熟悉磁盘结构,就知道磁盘是被分解成扇区 的,大小通常是 512 字节;所有读写操作均在成倍大小的扇区中进行。...本文对 Western Digital 的磁盘和使用类似技术的其他制造商的磁盘都使用同一术语。 回页首 为何有性能影响? 遗憾的是,在固件中改变表面扇区大小会降低性能。...如果文件系统数据结构正好与底层物理分区大小一致,对 4096 字节数据结构的读写会产生对单一扇区的读写。...磁盘是通过全局唯一标识符(GUID)Partition Table (GPT) 系统进行分区的,其中已对齐的分区起始于逻辑扇区 40,而未对齐的分区起始于逻辑扇区 34(使用 GPT 磁盘与默认大小的分区表时的第一个可用扇区...回页首 确定物理扇区大小 从理论上,Linux 内核应该在 /sys/block/sdX/queue/physical_block_size pseudo-file 中返回物理扇区大小相关信息,在 /sys
常用命令: df -hi df命令经常用的参数为: a:显示全部的档案系统和各分割区的磁盘使用情形 i:显示i -nodes的使用量 k:大小用k来表示 (默认值) t:显示某一个档案系统的所有分割区磁盘使用量...x:显示不是某一个档案系统的所有分割区磁盘使用量 T:显示每个分割区所属的档案系统名称 --- ### du命令 du命令用来查询档案或目录的磁盘使用空间, 通过man获取du命令的详细介绍。...常用命令:`du -ah 对应的文件夹` - 常用的命令参数如下: - ``` a:显示全部目录和其次目录下的每个档案所占的磁盘空间 b:大小用bytes来表示 (默认值为k bytes) c:...最后再加上总计 (默认值) s:只显示各档案大小的总合 (summarize) x:只计算同属同一个档案系统的档案 L:计算所有的档案大小 ---- 简单挂载过程 服务器发现对应的硬盘大小不对...数据硬盘分区】 fdisk /dev/vdb 上面图片我们知道 /dev 下面是磁盘 /dev/vda 是系统盘 /dev/vdb 是挂载的盘 (再挂载,应该就是 vdc了) 输入m 可以看见帮助
默认安装镜像只分配了64G ,安装之前还不能修改硬盘大小 修改虚拟机分配的大小 设置->硬盘 列出块设备信息 [root@AlmaLinux ~]# lsblk NAME...almalinux_almalinux-swap 253:1 0 2G 0 lvm [SWAP] └─almalinux_almalinux-home 253:2 0 19.8G 0 lvm /home 查看磁盘的分区和未分配空间...[root@AlmaLinux ~]# sudo parted /dev/sda print free 型号:ATA AlmaLinux-0 SSD (scsi) 磁盘 /dev/sda:215GB...扇区大小 (逻辑/物理):512B/4096B 分区表:gpt 磁盘标志: 编号 起始点 结束点 大小 文件系统 名称 标志 17.4kB...调整文件系统大小 查看文件系统类型 [root@AlmaLinux ~]# df -T 文件系统 类型 1K-块 已用
1、进入mysql数据库 2、查看所有库: select TABLE_SCHEMA, concat(truncate(sum(data_length)/102...
最近因特殊场景,需要往磁盘上写入大量小文件,然而在操作过程中磁盘空间未满但是却提示无法写入…… 错误分析 在本次操作过程,需要往磁盘上写入大概 150w 个小文件,文件大小约为 1~100KB,大概预估了一下需要...50G 的磁盘空间。...通过 df -h 查看磁盘,发现还有剩余空间; 通过 du -i 查看磁盘,发现 inode 已经使用了 100%; 继续观察磁盘文件系统: dumpe2fs -h /dev/vdc1 这里列出了几个比较关键的数据...Inode size: 256 Inodes per group: 8192 Inode blocks per group: 512 其中 每个 inode 大小为...256byte,block 大小为 4k byte; 根据 block count 和 inode count,我们也可以算出 16k bytes-per-inode(15728384*4096/3932160
查看文件 列出当前目录所有文件的大小 ls -alh 过滤当前目录下大于10M的文件 find ./ -type f -size +10M -print0 | xargs -0 ls -lh |...sort -nr 查看文件夹 当前目录的大小 du -sh 当前目录的子目录大小 du -sh * 递归查询当前目录所有文件夹大小 du -ah 磁盘占用 df -lh
意思是:每次磁盘驱动程序,能写入到硬盘缓存区的数据大小 = buffer_head 代表的大小,线程会等待磁盘缓冲区的内容真正刷入扇区中 写入完成后再唤醒线程,再次将一个块写入到磁盘缓冲区。 ?...我们用旧一点的 Linux 版本验证一下,下图出自 毛德操的《Linux源代码情景分析》 在磁盘的驱动程序向磁盘相关的控制寄存器写入控制信息之后(写入起始扇区号,读还是写等信息) 能向硬盘的写入的 字(...16位)数是固定的 一个扇区的字节数,总共写入的字节数 = 扇区大小 * 2 当前语境下的 buffer_head 是 1024 字节,扇区是 512 字节,也就是磁盘块 1024 字节,扇区 512...字节,写入磁盘缓冲区的大小就是磁盘块的大小 随后驱动程序再次写相关的控制寄存器,开启真正的磁盘IO,使得磁盘缓冲区内容写入物理扇区,在此期间写入数据的IO进程如果是阻塞模式需要等待写入完成。...,控制一次能写入磁盘缓冲区的数据大小,让他刚好等于 buffer_head,遵循 linux 的初衷。
经常看到一些博客在讲 Linux 内存的 PAGE SIZE 时,都会提到 Linux 默认页大小是 4KB。 笔者通过搜索找到了一些与 PAGE SIZE 相关的资料,希望对读者有所帮助。...1、Linux 默认页大小不是 4KB 首先,我们先看看 Linux 默认页大小是 4KB 是否能够成立?...通过 github 以 #define PAGE_SHIFT 为关键字在 linux 仓库进行搜索,可以得到一个 GitHub 搜索结果页 [1]。...2、Linux 默认页大小是对应架构的 MMU 管理的最小值 本结论来自一篇2002年的文章 Multiple Page Size Support in the Linux Kernel [3]。...3、x86 架构下,Linux 默认页大小是 4Kb x86 架构下,Linux 默认页大小是 4Kb 的原因很简单,x86 的 MMU 管理的最小值就是 4k。
直接贴代码 #!/bin/bash # function calculator_dir_size(){ for file in `ls $1` do ...
sleep300查看后台作业列表jobs#假设sleep300的作业号是1,将其切换到前台fg%1#此时可以按Ctrl+C终止它,或按Ctrl+Z再次暂停它#假设一个作业被暂停了,让它在后台继续运行bg%1二、磁盘与文件系统管理...2.1磁盘分类与设备命名理解Linux如何识别和命名磁盘是所有磁盘管理操作的基础。...[文件系统类型][设备名]常用文件系统类型:ext4:Linux最常用的日志文件系统,稳定可靠。xfs:高性能的日志文件系统,适合大文件和高性能计算。...df-h查看文件/目录大小(du)展开代码语言:BashAI代码解释#只显示/var/log目录的总大小du-sh/var/log三、总结我们这次主要介绍了Linux中进程管理和磁盘管理的核心操作。...以易于阅读的格式,显示所有已挂载文件系统的磁盘空间和inode使用情况。仅计算并显示/usr/share目录的总大小。列出/dev/sda磁盘的分区表信息。
例如,我们使用df -h命令来查看磁盘信息, -h 选项为根据大小适当显示: [在这里插入图片描述] 1.1显示内容参数说明 Filesystem:文件系统 Size: 分区大小 Used: 已使用容量...Avail: 还可以使用的容量 Use%: 已用百分比 Mounted on: 挂载点 1.2常用的一些命令使用 df -hl:查看磁盘剩余空间 df -h:查看每个根路径的分区大小 du -sh...目录名:返回该目录的大小 du -sm 文件夹:返回该文件夹总M数 du -h 目录名:查看指定文件夹下的所有文件大小(包含子文件夹) 2.du的介绍和使用 du 的英文原义为 disk usage,含义为显示磁盘空间的使用情况...若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。 -b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。...-k:以1024字节为单位列出磁盘空间使用情况。 -c:最后再加上一个总计(系统默认设置)。 -l:计算所有的文件大小,对硬链接文件,则计算多次。 -x:跳过在不同文件系统上的目录不予统计。
《鸟哥的Linux私房菜 (基础学习篇 第三版)》 - 作者:鸟哥 《Linux就该这么学》 - 作者:刘遄 关于磁盘与分区 目前在市场中磁盘的分类也是五花八门,一般在主机中使用的磁盘无外乎,以下几种...的大小就固定了,且每个 block 都有编号,以方便 inode 的记录,不过要注意的是,由于 block 大小的差异,会导致该文件系统能够支持的最大磁盘容量与最大单一文件容量并不相同。...限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸),与MBR分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区.另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性...#这是逻辑分区 磁盘分区命令-Parted parted命令是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具,与fdisk不同它支持调整分区的大小,作为一种设计用于Linux...↓ 磁盘大小 Disk /dev/sdb: 10.7GB ↓ 扇区大小 Sector size (logical/physical): 512B
(包括未挂载磁盘) 磁盘 /dev/vda:53.7 GB, 53687091200 字节,104857600 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑.../物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000c4895 设备 Boot Start...:1099.5 GB, 1099511627776 字节,2147483648 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512...字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/vdb 为需要挂载的磁盘。...+size{K,M,G} (2048-2147483647,默认为 2147483647): 将使用默认值 2147483647 分区 1 已设置为 Linux 类型,大小设为 1024 GiB 键入
一、磁盘的物理结构 磁盘的物理结构如图所示: 其中具体的物理存储结构如下: 磁盘中存储的基本单位为扇区,一个扇区的大小一般为512字节或者4kb,这里我们暂且认为是512字节。...一般的磁盘,一个扇区都是512字节,同半径所有的扇区构成了一圈磁道。...为了减少进行IO操作的频率,OS与外设进行IO操作的基本单位大小是4KB(可以调整)。...获得 LBA 地址后,通过简单的数学计算就可以转换成磁盘的 CHS 地址。假如已知 LBA = 6500 ,磁盘一个磁面的大小为 5000 ,一个磁道的大小为 1000 。...四、Linux下文件系统 在Linux中,使用 ls 指定加上 -i 命令选项,就可以观察到文件的 inode : 1、inode与文件名 Linux系统只认inode值,且inode属性中不会包含文件名
一块硬盘驱动器的圆柱数(或每个盘面的磁道数)既取决于每条磁道的宽窄(同样,也与磁头的大小有关),也取决于定位机构所决定的磁道间步距的大小。...在扇区到来时,磁盘控制器读出每个扇区的头标,把这些头标中的地址信息与期待检出的磁头和柱面号做比较(即寻道),然后,寻找要求的扇区号。...页是计算机管理存储器的逻辑块,硬件及操作系统往往将主存和磁盘存储区分割为连续的大小相等的块,每个存储块称为一页(在许多操作系统中,页得大小通常为4k),主存和磁盘以页为单位交换数据。...7、硬盘容量及分区大小的计算 在linux系统,要计算硬盘容量及分区大小,我们先通过fdsik -l查看硬盘信息: Disk /dev/hda: 80.0 GB, 80026361856 bytes...+ 83 linux 其中 heads 是磁盘面; sectors 是扇区; cylinders 是柱面; 每个扇区大小是 512byte,也就是0.5K;
一块硬盘驱动器的圆柱数(或每个盘面的磁道数)既取决于每条磁道的宽窄(同样,也与磁头的大小有关),也取决于定位机构所决定的磁道间步距的大小。...在扇区到来时,磁盘控制器读出每个扇区的头标,把这些头标中的地址信息与期待检出的磁头和柱面号做比较(即寻道),然后,寻找要求的扇区号。...页是计算机管理存储器的逻辑块,硬件及操作系统往往将主存和磁盘存储区分割为连续的大小相等的块,每个存储块称为一页(在许多操作系统中,页得大小通常为4k),主存和磁盘以页为单位交换数据。...7、硬盘容量及分区大小的计算 在linux系统,要计算硬盘容量及分区大小,我们先通过fdsik -l查看硬盘信息: Disk /dev/hda: 80.0 GB, 80026361856 bytes...15888253+ 83 linux 其中 heads 是磁盘面; sectors 是扇区; cylinders 是柱面; 每个扇区大小是 512byte
要理解缓冲区,必须明确另外两个概念:"扇区" 和 "块"。扇区是设备的最小寻址单元,也叫 "硬扇区" 或 "设备块"。块是操作系统中文件系统的最小寻址单元,也叫 "文件块" 或 "I/O 块"。...每个块包含一个或多个扇区,但大小不能超过一个页面,所以一个页可以容纳一个或多个内存中的块。当一个块被调入内存时,它要存储在一个缓冲区中。...每个缓冲区与一个块对应,它相当于是磁盘块在内存中的表示: [img] 注意,buffer cache 只有块的概念而没有文件的概念,它只是把磁盘上的块直接搬到内存中而不关心块中究竟存放的是什么格式的文件...cache 在操作系统中指 page cache,中文一般翻译为 "页高速缓存"。页高速缓存是内核实现的磁盘缓存。它主要用来减少对磁盘的 I/O 操作。...在 linux 内核 2.4 中才将它们统一。更早的内核中有两个独立的磁盘缓存:页高速缓存和缓冲区高速缓存。前者缓存页面,后者缓存缓冲区。当你知道了这些故事之后,输出中列的名称可能已经不再重要了。
所以在对应的挂载点写了东西,重启之后都会消失 /dev/shm:内存 命令free:查看swap的情况 “df” 常用选项有 “-i” “-h” “-k” “-m”等 -i:查看分区inodes使用状况,inodes的大小与磁盘分区大小有关...若inodes满了,即使磁盘空间有剩余也会写不进东西 -h: 使用合适的单位显示,例如 ‘G’ -k, -m: 分别以K, M 为单位显示 du命令 du:用来查看某个目录或文件所占空间大小 用法:...du -参数 文件名或目录名 -a:全部文件与目录大小都列出来 -b:列出的值以位为单位 -k:以kb为单位,和默认不加任何选项的输出值一样 -m:以MB为单位 -h:系统自动调节单位,例如文件太小可能就几...-c:最后会加上总用量 -s:只列出文件总和 du -sh /root //查看目录root的大小 [root@xie-02 ~]# du -sh /root/ 32K /root/ 磁盘分区...1.先添加磁盘 2.点添加之后默认选择 硬盘 3.除了大小改为10G外,其他都默认,一直下一步到完成,最后点确定。
第二部分:盲区(你不知道,别人知道) 最少知识准备 1️⃣ 硬件层(磁盘扇区) • 最小物理写入单位:磁盘扇区(Sector),传统为512B,现代设备常见4KB • 原子性保证:磁盘保证单个扇区写入是原子的...,确保写入时对应底层扇区边界,从而利用扇区原子性 3️⃣ I/O层(页缓存/libaio/direct I/O) • 页大小:Linux内核页面通常4KB • AIO/libaio提交I/O时,通常以页为单位提交给块设备...• Direct I/O:跳过页缓存,直接按块或扇区提交,必须满足块/扇区对齐(alignment) • 对齐要求: • 起始地址和长度通常需要是块大小或扇区大小的整数倍 • libaio提交时,如果不对齐...:Linux 6.13的原子写入特性 4 理解权衡:为什么有些系统选择不回滚 5 掌握细节:对齐要求、扇区大小、原子性保证 参考资源 参考文章 • Are disk sector writes atomic...• /ext4/atomic_writes.htm • Linux 6.13 To Expand Atomic Write Support To EXT4 & XFS 参考书籍 • 《Linux内核设计与实现
一块硬盘驱动器的圆柱数(或每个盘面的磁道数)既取决于每条磁道的宽窄(同样,也与磁头的大小有关),也取决于定位机构所决定的磁道间步距的大小。...在扇区到来时,磁盘控制器读出每个扇区的头标,把这些头标中的地址信息与期待检出的磁头和柱面号做比较(即寻道),然后,寻找要求的扇区号。...页是计算机管理存储器的逻辑块,硬件及操作系统往往将主存和磁盘存储区分割为连续的大小相等的块,每个存储块称为一页(在许多操作系统中,页得大小通常为4k),主存和磁盘以页为单位交换数据。...7、硬盘容量及分区大小的计算 在linux系统,要计算硬盘容量及分区大小,我们先通过fdsik -l查看硬盘信息: Disk /dev/hda: 80.0 GB, 80026361856 bytes...9729个柱面;所以整个硬盘体积换算公式应该是:磁面个数 * 扇区个数 * 每个扇区的大小512 * 柱面个数 = 硬盘体积 (单位bytes) 所以在本例中磁盘的大小应该计算如下: 255 x 63