XFS

SSD固态硬盘的性能与可靠

落爺英雄遲暮 提交于 2019-12-12 12:23:17
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> SSD 按一个电容存储的比特数 SLC ( Single-Level Cell ) MLC( Multi-Level Cell ) TLC(`Triple-Level Cell) QLC( Quad-Level Cell ) 存储的比特数越多,能表示的数据(电压)越多,需要电压计更高精度的控制,因此读写速度有一定程度的降低。 SSD写基本原理 SSD数据的 写入 叫作 Program ,先去 擦除 ( Erase ),然后再写入。 而机械硬盘,是通过覆盖(Overwrite)来进行的。 读写 的基本单位是 页 ( Page ,一般是4KiB),但是 擦除 的基本单位是 块 ( Block ,是页的倍数)。 而机械硬盘读写基本单位是扇区(Sector,现在一般是4KiB)。 删除一个页的数据,一般只做标记不擦除,只有一整块都是删除标记,则会被擦除。 SSD使用寿命 SSD使用寿命,其实是每一个块( Block )的擦除的次数。 目前SLC 的芯片,可以擦除的次数大概在 10 万次,MLC 就在 1 万次左右,而TLC 和 QLC 就只在几千次了。 SSD的控制器FTL FTL ( Flash-Translation Layer ,闪存转换层),实现名为 磨损均衡 ( Wear-Leveling )的技术

Small file not committed to disk for over a minute

不打扰是莪最后的温柔 提交于 2019-12-10 17:34:30
问题 I have an embedded Linux app that writes to a file at a fairly slow rate ( 50 bytes/s or so). The file is on a hard drive, XFS filesystem. The file is being written to by calling write() , not fwrite() . If I power-cycle the system and check the file, over a minute's worth of data is missing. I thought the default Linux behaviour was to sync the disk cache every 5s (I can tolerate 5s worth of missing data so they'd be no problem with this). What should I be checking to see why it isn't

磁盘存储和文件系统(四)

淺唱寂寞╮ 提交于 2019-12-09 12:31:06
磁盘存储和文件系统(四) 文件系统分类 搜索文件系统驱动 VFS 文件系统本身是属于操作系统的功能 如,对于用户来讲,我们用 cat /etc/passwd访问文件,而这些文件最终是通过文件系统来放到硬盘上的。当我们用命令去访问磁盘上的文件的时候,命令怎样去和文件系统交互的呢?底层用到的文件系统有很多种,但命令就一个, 难不成 cat 先要知道文件系统是什么,然后再访问文件系统的数据吗? 我们要实现文件的管理,针对不同的文件系统,开发独立的软件呢?如:是不是要为 cat 开发 "cat for xfs"的软件呢?如:为cat 开发 "cat for ext4"的软件呢?实现上这是不现实的。 为了让用户更加专心地访问磁盘中的文件,不需要知道各个文件系统的区别,我们就提供了一个虚拟的文件系统。 用户敲命令是在用户空间的,还有内核空间,命令不会直接跑到磁盘上去执行命令。用户空间的命令是没有权限直接访问磁盘上的文件的,通过中间的系统调用,让操作系统内核来帮它来访问磁盘文件。在不同文件系统之上又构建了一个虚拟层,这个虚拟的层就叫虚拟的文件系统。虚拟的文件系统集成了通用文件系统的功能,然后对外让用户去访问。用户空间不需要去关心各个文件系统的区别,就只需要开发一个版本的软件。如 开发ls,就只需要开发 "ls for VFS"就可以了。 文件系统选择 创建文件系统 [root@Centos7 ~

How to find Logical Name for PinPad XFS if it is not mentioned in Manual

…衆ロ難τιáo~ 提交于 2019-12-06 15:37:12
I have started XFS implementation of SZZT Pinpad .I am facing an issue with the WFSOpen command Its giving an error “ – 14 “which is mentioned as WFS_ERR_HARDWARE_ERROR in the Manual. Please let us know if we are missing out on any parameter Value for the same . Also we are unable to find the logical Name for SZZT Pinpad in the Manual . As of now we are using the same name which is been mentioned in the Registry I've had recently this problem. In my case, it was due to the service provider not being found (more exactly, the SP implementation DLL). The reason behind, in my case, was that I was

磁盘格式化、磁盘挂载和手动增加swap空间

一个人想着一个人 提交于 2019-12-06 01:34:05
9月26日任务 4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间 磁盘格式化 查看系统支持的文件系统 系统支持的文件系统类型 [root@centos7 ~]# cat /etc/filesystems xfs ext4 ext3 ext2 nodev proc nodev devpts iso9660 vfat hfs hfsplus * centos7 系统默认的文件系统格式是 xfs, centos6.x版本为ext4,再之前就是ext3/2... 格式化新分区 mke2fs命令 默认不加参数 格式化分区类型为ext2,块大小为4096字节(即4K),预留磁盘空间为5%。可以通过参数(单个或多个结合)设置来修改! [root@localhost ~]# mke2fs /dev/sdb5 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem

嵌入式文件系统简介(一) —— Linux MTD设备文件系统

笑着哭i 提交于 2019-12-05 05:13:41
1. 文件系统简介 文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。在写入新数据之前,用户不必关心硬盘上的那个块地址没有被使用,硬盘上的存储空间管理(分配和释放)功能由文件系统自动完成,用户只需要记住数据被写入到了哪个文件中。 文件系统通常使用硬盘和光盘这样的存储设备,并维护文件在设备中的物理位置。但是,实际上文件系统也可能仅仅是一种访问数据的界面而已,实际的数据是通过网络协议(如NFS、SMB、9P等)提供的或者内存上,甚至可能根本没有对应的文件(如proc文件系统)。 严格地说,文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract data type)。 2. 存储设备和文件系统的关系 在嵌入式系统中,与文件系统相关的存储设备包括硬盘、Flash存储器等。Flash存储器又分为Flash芯片设备(Raw Flash device,也叫MTD设备)和带Flash控制器的设备(Flash Translation Layer device, FTL设备),两者的关键区别是是否带有Flash控制器

xfs - how to not modify mtime when writing to file?

痴心易碎 提交于 2019-12-04 18:09:30
I have a file, a.dat that is 1GB and resides on disk. For performance reasons, I reuse this file and simply overwrite its contents as needed, rather than creating a new file and letting it grow (each grow operation has to update its size in the inodes). I am trying to squeeze even more performance out, and have searched the man pages for open and mount to try to figure out when the mtime and ctime for a file are updated. From my understanding, each time you change a file's contents, the mtime and/or ctime are updated. Is this how xfs works? If so, is there a way to disable this on linux? I don

磁盘优化思路

怎甘沉沦 提交于 2019-12-04 10:27:18
磁盘优化思路 性能定位套路 和之前类似,我们不可能出现性能问题就把所有工具都跑一遍,而是先运行那几个支持指标较多的工具,如 top,iostat,vmstat等来缩小范围 先用top, iostat 发现磁盘 I/O 性能瓶颈; 再借助 iotop, pidstat 等定位出导致瓶颈的进程; 随后用strace, lsof等分析进程的 I/O 行为; 最后,结合应用程序的原理,分析这些 I/O 的来源。 性能优化思路 由于影响磁盘I/O性能的因素众多,我们对磁盘I/O优化分应用程序,文件系统,磁盘三方面来说 1.应用程序优化 应用程序处于整个 I/O 栈的最上端,它可以通过系统调用,来调整 I/O 模式(如顺序还是随机、同步还是异步), 同时,它也是 I/O 数据的最终来源。 在我看来,可以有这么几种方式来优化应用程序的 I/O 性能: 1).可以用追加写代替随机写,减少寻址开销,加快 I/O 写的速度。 2).可以借助缓存 I/O ,充分利用系统缓存,降低实际 I/O 的次数。 3).可以在应用程序内部构建自己的缓存,或者用 Redis 这类外部缓存系统。这样,一方面,能在应用程序内部,控制缓存的数据和生命周期;另一方面,也能降低其他应用程序使用缓存对自身的影响。 4).在需要频繁读写同一块磁盘空间时,可以用 mmap 代替 read/write,减少内存的拷贝次数。 5)