Linux系统是目前热门的操作系统之一,具有优异的性能,广泛的应用场景,同时Linux也能非常有效的优化硬盘读写速度。下面简单介绍一些Linux系统如何优化硬盘读写速度的一些方法:
一、优化主板BIOS
大多数笔记本电脑和PC机都可以在BIOS中调整主板中的电源管理策略,这样可以有效的提高硬盘读写速度。可以在BIOS中找到“SATA控制模式”选项,需要将其设置为“AHCI”模式,这样可以最大限度的利用硬盘的性能,从而提高硬盘的读写速度。
二、使用noatime文件系统
Linux的ext2、ext3和ext4文件系统都支持noatime参数,当使用noatime参数的时候,磁盘操作系统不用再每次读文件的时候去更新文件的访问时间,可以减少硬盘的读写次数,从而提高硬盘的读写速度。
在挂载文件系统的时候,可以使用以下命令设置noatime参数:
sudo mount –t extx /dev/sda1 /mnt –o noatime
三、禁用过期不使用的设备
有时候系统中会存在一些过期而不使用的设备,如磁带存储设备、U/U2等,当这些设备存在的时候,硬盘的读写速度会受到影响。所以硬盘的读写速度可以通过禁用不用的设备来提升。
四、使用外部缓存
linux系统也支持使用外部缓存来提高硬盘的读写速度,例如SSD缓存,在容量足够的情况下可以有效的提高硬盘的I/O处理能力,从而提高硬盘的读写速度。
五、使用I/O调度程序
Linux系统支持不同的I/O调度程序,通过不同的I/O调度程序可以有效的优化文件系统的I/O请求顺序,从而提高硬盘的读写速度。实际上,Linux的每位的I/O调度程序都具有各自的优劣,可以根据实际的硬件和应用场景来选择不同的I/O调度程序:
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
缓存是什么意思?
缓存(Cache memory)是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部存储和外界接口之间的缓冲器。 由于硬盘的内部数据传输速度和外界介面传输速度不同,缓存在其中起到一个缓冲的作用。 缓存的大小与速度是直接关系到硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。 当硬盘存取零碎数据时需要不断地在硬盘与内存之间交换数据,如果有大缓存,则可以将那些零碎数据暂存在缓存中,减小外系统的负荷,也提高了数据的传输速度。 硬盘的缓存主要起三种作用:一是预读取。 当硬盘受到CPU指令控制开始读取数据时,硬盘上的控制芯片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到缓存中(由于硬盘上数据存储时是比较连续的,所以读取命中率较高),当需要读取下一个或者几个簇中的数据的时候,硬盘则不需要再次读取数据,直接把缓存中的数据传输到内存中就可以了,由于缓存的速度远远高于磁头读写的速度,所以能够达到明显改善性能的目的;二是对写入动作进行缓存。 当硬盘接到写入数据的指令之后,并不会马上将数据写入到盘片上,而是先暂时存储在缓存里,然后发送一个“数据已写入”的信号给系统,这时系统就会认为数据已经写入,并继续执行下面的工作,而硬盘则在空闲(不进行读取或写入的时候)时再将缓存中的数据写入到盘片上。 虽然对于写入数据的性能有一定提升,但也不可避免地带来了安全隐患——如果数据还在缓存里的时候突然掉电,那么这些数据就会丢失。 对于这个问题,硬盘厂商们自然也有解决办法:掉电时,磁头会借助惯性将缓存中的数据写入零磁道以外的暂存区域,等到下次启动时再将这些数据写入目的地;第三个作用就是临时存储最近访问过的数据。 有时候,某些数据是会经常需要访问的,硬盘内部的缓存会将读取比较频繁的一些数据存储在缓存中,再次读取时就可以直接从缓存中直接传输。 缓存容量的大小不同品牌、不同型号的产品各不相同,早期的硬盘缓存基本都很小,只有几百KB,已无法满足用户的需求。 2MB和8MB缓存是现今主流硬盘所采用,而在服务器或特殊应用领域中还有缓存容量更大的产品,甚至达到了16MB、64MB等。 大容量的缓存虽然可以在硬盘进行读写工作状态下,让更多的数据存储在缓存中,以提高硬盘的访问速度,但并不意味着缓存越大就越出众。 缓存的应用存在一个算法的问题,即便缓存容量很大,而没有一个高效率的算法,那将导致应用中缓存数据的命中率偏低,无法有效发挥出大容量缓存的优势。 算法是和缓存容量相辅相成,大容量的缓存需要更为有效率的算法,否则性能会大大折扣,从技术角度上说,高容量缓存的算法是直接影响到硬盘性能发挥的重要因素。 更大容量缓存是未来硬盘发展的必然趋势。 缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。 实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。 但是由于CPU芯片面积和成本的因素来考虑,缓存都很小。 L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。 内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。 一般服务器CPU的L1缓存的容量通常在32—256KB。 L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。 内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。 L2高速缓存容量也会影响CPU的性能,原则是越大越好,现在家庭用CPU容量最大的是512KB,而服务器和工作站上用CPU的L2高速缓存更高达256-1MB,有的高达2MB或者3MB。 L3 Cache(三级缓存),分为两种,早期的是外置,现在的都是内置的。 而它的实际作用即是,L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。 降低内存延迟和提升大数据量计算能力对游戏都很有帮助。 而在服务器领域增加L3缓存在性能方面仍然有显著的提升。 比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。 具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。 其实最早的L3缓存被应用在AMD发布的K6-III处理器上,当时的L3缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。 在只能够和系统总线频率同步的L3缓存同主内存其实差不了多少。 后来使用L3缓存的是英特尔为服务器市场所推出的Itanium处理器。 接着就是P4EE和至强MP。 Intel还打算推出一款9MB L3缓存的Itanium2处理器,和以后24MB L3缓存的双核心Itanium2处理器。 但基本上L3缓存对处理器的性能提高显得不是很重要,比方配备1MB L3缓存的Xeon MP处理器却仍然不是Opteron的对手,由此可见前端总线的增加,要比缓存增加带来更有效的性能提升。 参考资料:

linux下磁盘占用达到100%了,找不到哪些大文件耗尽了磁盘。
楼上的各位,麻烦你们回答问题的时候看清楚别人问的是什么好吧?1、如果是大文件占用了,那么查询大于某个值的文件的方法:find / -size +100c -print这是从根盘开始查找大于100字节的文件(至于字节数你当然可以自己设置)你可以用find / -size +100c -exec ls -l {}\;来列出文件属性。 2、如果只是因为有些应用生成的日志文件较多,长时间没有清理后占用了,这种情况最明显的标志为系统空间使用量逐步递增,每天的增量基本相差不大。 那么最快捷的方式莫过于询问应用厂商要到日志存放目录后进行清理。 如果找不到厂商,那只好自己动手咯,写个脚本查:#!/bin/ksh#####用du命令输出所有目录所占的磁盘空间大小,以G为单位#########du -h >fs_######判断各层目录大小,查到占用量大的目录######cat fs_|while read LINE FS_USEDdoif[ $LINE -ge 10 ]then echo $FS_USED >>####查看运行结果#######more 这样你就能看到占用量比较大的目录,从而有针对性的到相应目录下检查,看到底是什么东西在占用硬盘空间了。 (if[ $LINE -ge 10 ] ,这里是判断超过10G的目录,你可以修改)3、因为人为的误操作,导致了某些进程在没有执行完成的时候被kill掉了,但是缓存中的程序没有释放,仍然在运行,这会产生一些临时文件占用大量的磁盘空间资源,这种现象的特点是爆发式的增长,在很短时间内就将磁盘空间占满。 解决的方法:i、如果是因为父进程被杀除,子进程还运行导致,那么最简单,kill子进程,就会释放。 ii、如果能用ipcs确认是哪个用户的进程,那么也不困难,顺着使用ipcrm就行(这个就不一一例举了,有了命令查使用方法还是很方便的)iii、执行进程的用户是比较关键的用户如:root用户、有实例的oracle用户、在线的生产用户等。 那么建议在确认是因为共享缓存的原因导致的问题后重启服务器。 4、你已经删除了一些占用量大的文件,或者在根盘下做du -h发现占用量远远的小于130G,df的结果仍然是100%的使用率。 那么基本肯定你碰到了linux的一个bug,直接重启就能解决。 (当然了也不一定是bug,我碰到过那种程序在写一个日志,但是删除日志后空间不释放的问题。 这个是linux本身的机制引起的,只需要停止相关的程序空间就会释放的)
linux中的挂载磁盘的fsid参数是什么作用的
展开全部fdisk 分区 fdisk /dev/sdb -p查看当前分区 -t 改分区号 -w将分区表写进磁盘 -n创建分区 -p主分区 -e拓展分区 partprobe 让内核更新分区信息 cat /proc/partitions 查看磁盘分区 创建文件系统(格式化文件系统) -b blocksize 指定文件系统大小 -c 建立文件系统时检查坏损块 -L label 指定标 -j 建立文件系统日志 ext3 ext4 默认是带日志 3 /dev/sdb1 /dev/sda3 查看分区信息 dumpe2fs /dev/sda2 journal日志 ext3 ext4 拥有较强的稳定性,出错可以恢复 磁盘的挂载和卸载 mount 显示所挂载的分区 挂载一个新的磁盘分区 eg: mount /dev/sda3 /mnt/ 附加参数: -t 文件系统类型 -o [选项]指定加载文件系统时的选项。 有些选项也可在/etc/fstab中使用。 这些选项包括: ro以只读方式挂载 rw以读写方式挂载 async使用缓存方式挂载 sync 不使用缓存方式挂载 noatime不更新文件的访问时间 atime 更新文件的访问时间 remount重新挂载 eg: mount -o remount,rw /dev/mnt/ umount 卸装分区,相当于windows系统中的弹出 eg: umount /dev/sda3 或者写挂载点 umount /mnt/ 查看文件系统被哪些进程占用 fuser -m /mnt 查看具体的进程信息 ps -ef egrep (进程id进程id) grep -v grep 查看哪些文件被打开使用 lsof /mnt/ 自动挂载的设置 (通过修改配置项来实现自动挂载) /etc/fstab 中定义了哪些磁盘被自动挂载 eg: /dev/sda3 /mnt ext4 defaults 0 0 说明:设置路径与写卷标的标签名称等同 eg: /dev/sda3 《=》label=soft_config 以上内容是小编给大家分享的linux系统磁盘分区及把磁盘挂载到系统中的方法,希望大家喜欢。
发表评论