技术标签: ext 多媒体工具 linux 磁盘 服务器 数据结构
近日 Linux 业界最大的新闻莫过于 Ext4 的准备推出,这的确为 Linux 巩固了 WEB 服务器市场的份额,近日各大媒体报道 Linus Torvalds 向内核主支整合了大量文件系统 Ext4 的补丁,这一信号标志着下一个版本的 kernel 2.6.28 中,Ext3 的后继者将脱离发展阶段,内核开发者最早是在 Linux 2.6.19 中引入 Ext4 的早期版本。但这并不意味着 Ext4 的开发结束,开发者还需要继续工作,修复补丁和增加功能,而发行版可能需等待一段时间观察 效果。
以下是我找到的一些 Ext4 新特性的对比资料:
功能 | 优势 |
更大的文件系统 | Ext3 最多只能容纳 32 TiB 的文件系统和 2 TiB 的文件,根据使用的具体架构和系统设置,实际容量上限可能比这个数字还要低 — 或许只能容纳 2 TiB 的文件系统和 16 gibibyte(GiB)的文件。相反,Ext4 的文件系统容量达到 1024 pebibyte(PiB), 或 1 exbibyte(EiB),而文件容量则达到 16 TiB。对一般的台式计算机和服务器而言,这可能并不重要,但对大磁盘阵列的用户而言,这就非常重要了。 |
extent | extent 是一种提高磁盘文件描述符效率的方法,它能够减少删除大型文件所需的时间等等。 |
持久性预分配 | 如果一个应用程序需要在实际使用磁盘空间之前对它进行分配,大部分文件系统都是通过向未使用的磁盘空间写入 0 来实现分配。而 ext4 允许提前分配,无需进行上述操作,这能提高某些数据库和多媒体工具的性能。 |
延迟分配 | Ext4 能够尽量延迟磁盘空间的分配,这能够提高性能。 |
更多的子目录 | 如果 ext3 中一个目录只能包含 32,000 个子目录还不能满足您的需求,那么不必担心,因为 ext4 取消了这一限制。 |
日志 checksum | Ext4 给日志数据添加了检查和(checksum)功能,这能提高可靠性和性能。 |
在线磁盘整理 | 虽然 ext3 一般不会受到碎片的影响,但是存储在它里面的文件多少会产生一些碎片。Ext4 支持在线磁盘整理,这能够改善总体性能。 |
恢复删除文件 | 虽然这一功能尚未实现,但 ext4 将支持恢复删除文件。当文件被意外删除时,此功能将极为有用。 |
更快的文件系统检查 | Ext4 添加了新的数据结构,允许 fsck 在检查中跳过磁盘中未使用的部分,因此加快了文件系统的检查。 |
纳秒级时间戳 | 大部分的文件系统(包括 ext3)都包含有精确到秒的时间戳数据,而 ext4 把精确度提高到了纳秒。一些资料还表明 ext4 的时间戳支持的日期达到 2514 年 4 月 25 日,而 ext3 只达到 2038 年 1 月 18 日。 |
由 于 ext4 目前还处于开发阶段,这个功能表还会有所变动。功能列表的一些功能在实际使用中不具备与 Ext3 的向后兼容性 — 即可能无法使用 Ext3 文件系统类型的代码挂载 Ext4 文件系统。但是 Ext4 保留了向前兼容性 — 您可以像挂载 Ext4 文件系统一样挂载 Ext3 文件系统。
另外,据说 Ext4 的设计借鉴了很多 seiserfs 的设计思想,也是在为 btrfs 搭桥,也有人说 Linus Torvalds 实际上是想最终过渡到类似 ZFS 在 RAID 领域的高度,不管怎么样,这都将是 Linux 发展的好消息。不过,任何一个文件系统的诞生都必须经过时间与实践的考验,Ext4 一定只是 Ext5 的铺垫,目前该做的事就是做好准备,期待更激动人心的消息出现吧。
还有一个报道挺有意思,说是 Linux 版本 2.6.27 更新后,人们发现,这一内核的源代码数量已经超过了 1000 万行,以下是 David Wheeler 的 SLOCCount 计数程序对 Linux 内核代码库进行的分析发现了一些有趣的事。
类型 | 行数 | 百分比 |
驱动程序 | 3,301,081 | 51.6 |
系统架构 | 1,258,638 | 19.7 |
文件系统 | 544,871 | 8.5 |
网络 | 376,716 | 5.9 |
声音 | 356,180 | 5.6 |
Include | 320,078 | 5.0 |
内核 | 74,503 | 1.2 |
内存管理 | 36,312 | 0.6 |
密码学 | 32,769 | 0.5 |
安全 | 25,303 | 0.4 |
其它 | 72,780 | 1.1 |
去除空行、注释、和其他输入信息后的总共 6,399,191 行代码看起来很可怕,但是比起 Window 近 5000 万行的核心代码,算是相当精简了,有空真应该抽取几部分,好好研究一下,这可是多少人类智慧的结晶啊 ... 越来越感觉到开源世界的资源是多么无比强大啊,最后,祝 Linux 越来越好 :)
文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99
文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效
文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是
文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件
文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件
文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码
文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware
文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停
文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待
文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析
文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code
文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象