解决Ubuntu系统NTFS速度过慢的问题

2023-11-02 06:20

本文主要是介绍解决Ubuntu系统NTFS速度过慢的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 我的配置
  • 一、NTFS是什么?
  • 二、准备工作
    • 1.安装必要软件
    • 2.测试速度
      • 1.测试读速
      • 2.测试写速
  • 三、解决问题
    • 1.内核方案
      • 1.测试写速
    • 2.ntfs-3g方案
    • 3.ext4方案
  • 总结


前言

一般搞程序的哪有不用NAS的,当我尝试在Ubuntu上使用NTFS格式的SATA磁盘时,诡异的问题出现了,我在Windows11上测试速度时100MB+的磁盘,安装到Ubuntu-22.04之后就读取速度没有显著下降,写入速度变成了龟速。经过诸多研究终于有了眉目,最终也确实解决了我的问题,如果你也有同样的问题,不妨看看我的解决方案。


我的配置

CPU:4*Cortex-A53 1.5GHZ
OS:Ubuntu-22.04 Jammy
ARCH:aarch64
Network:1G Ethernet
Protocol:Samba


一、NTFS是什么?

NTFS(New Technology File System)是Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式,提供长文件名、数据保护和恢复,能通过目录和文件许可实现安全性,并支持跨越分区。

二、准备工作

准备一个512GB或1TB的SATA3硬盘,机械和SSD都行,实测两者都存在速度问题。

1.安装必要软件

sudo apt update
#ntfs需要
sudo apt install ntfs-3g
#查看磁盘属性和测读速
sudo apt install hdparm

2.测试速度

这里假如你只有一个sata盘,那就是/dev/sda了,第一个分区就是/dev/sda1,前提是你在windows11上提前格式化了。如果不是SSD,就不要选4K格式化,某些条件下导致在Windows上机械磁盘性能下降。选择默认即可。

Windows测速就不多讲了,方法太多了,下面讲讲Linux上测速,使用刚才安装的hdpram

1.测试读速

#不用选分区
sudo hdparm -tT /dev/sda
/dev/sda:Timing cached reads:   1774 MB in  2.00 seconds = 887.51 MB/secTiming buffered disk reads: 346 MB in  3.00 seconds = 115.18 MB/sec

上面的115.18MB是真实地速度,和我在Windows11上速度基本一致,略差一点点,这里不多讨论。

2.测试写速

#nas用大文件多,这里直接测大文件拷贝
dd if=/dev/zero of=<挂载路径> bs=1G count=1

测试出来速度19MB每秒,这简直惊天地泣鬼神。在Windows上还有100MB+,到了Linux上就变成19MB左右了。

一开始我以为是Cortex-A53能效核太弱鸡了,后来我测试了下EMMC能够达到100MB-200MB的速度,明显不是这个原因,至少不是主要原因。

三、解决问题

1.内核方案

这里要求5.15+内核版本,不出意外地话Ubuntu-22.04Ubuntu-20.04都是5.15+的内核,Ubuntu-18.04初始是5.4+的版本,总之,必须满足这个版本要求。

请看原因:
The Linux kernel already has a NTFS implementation, but it has severe limitations (like being read-only), which is why Linux users usually use the userspace ntfs-3g implementation. This release incorporates a new and fully functional NTFS implementation contributed by Parangon Software. This implementation supports NTFS file system versions up to 3.1, normal/compressed/sparse files and journal replaying, plus other features that will be added in the future.

归根结底还是5.15之前的NTFS驱动不行,5.15之后的内核改善了这个问题,这里我们不细究NTFS工作原理,也不细究为什么旧的内核实现速度慢,只解决问题。

下面是Linux内核官方说明,感兴趣的可以自行阅读下。

KernelNewbies: Linux_5.15

#获取磁盘的uuid
sudo blkid
#配置fstab,uuid是你的日用账号,每个人可能不一样,填你自己的就行了
UUID=<你的UUID> <你的挂载路径> ntfs3 defaults,uid=1000,gid=1000,force 0 0
#测试挂载,一定要做这一步
sudo mount -a
#查看挂载情况
df -h

如果成功挂载了,就没问题了,错误了仔细检查,切记写在/etc/fstab里面的配置必须是成功的,否则操作系统无法启动,可能会进入紧急模式,或者永远起不来。

1.测试写速

#nas用大文件多,这里直接测大文件拷贝
dd if=/dev/zero of=<挂载路径> bs=1G count=1
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 11.8799 s, 90.4 MB/s

还是比Windows11略差一丢丢,但是比前面的可是好太多了,就这样吧,不排除其它因素干扰,有时间再研究。

2.ntfs-3g方案

适合内核在5.15+以下的,或者不方便升级内核的。需要使用一个参数big_writes

#指定参数挂载
sudo mount -o big_writes /dev/sda1 <挂载路径>

成功了就对了,使用这种方式挂载写入速度可以提高3倍左右,有50+MB的速度,比起19MB已经很好了,运气好的甚至能提高到70+MB的速度以上,主要还是看环境。

3.ext4方案

如果你必须要在Windows和Linux之间来回导的话,你可能真得使用NTFS这种文件系统,ext4在Windows上不太好用。如果你只需要在Linux上使用,不需要接到Windows上,其实事情就简单了。Linux对ext4的支持就比ntfs好很多,你直接把磁盘格式化成ext4格式就行了。

这样,就不存在上面头疼的NTFS问题了。


总结

1、如果需要频繁在Windows和Linux之间切换就用前面的方法,如果长期稳定在Linux使用就使用EXT4文件系统。
2、理论上适合所有的Linux发行版,有问题请留言

这篇关于解决Ubuntu系统NTFS速度过慢的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/328693

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、