xfs优化
❶ linux运行oracle11g后很慢怎么优化
1. 标准优化:遵从Oracle技术文档中的说明tune你的Linux,比如共享内存等等。这里不赘述了,因为文档中很全。 2. 根据你的使用情况采取Dedicate型或MTS型数据库。具体方法也看文档。 3. 假如你不是对数据库中的java应用非凡有需求的话,不要装它,也不要启动它。(假如你装了的话) 4. 对你的服务器来说,最好专用。假如你不专用,说明你对性能并不那么敏感,也用不着优化了。 5. 内存越大越好。但Linux对内存大小有限制,因此需要去找一些Patch。 6. 下载一个SGI's POSIX Asynchronous I/O and Raw I/O的内核Patch。它能大幅度提高你数据文件的访问速度。 7. 假如你采用ext2文件系统,把Block的大小增加到4~8KB。其中dbf所在分区的大小最少弄到8192KB。 8. 尽可能用SCSI硬盘。假如是IDE的,好好调调参数。 9. 这里是一个示例程序: set -a VM=/PRoc/sys/vm BDFLUSH="40 1024 64 256 500 3000 500 1884 2" BUFFERMEM="5 8 10" FREEPAGES="512 1024 3072" OVERCOMMIT="1" case $1 in start) echo "$BDFLUSH">$VM/bdflush echo "$BUFFERMEM">$VM/buffermem echo "$FREEPAGES">$VM/freepages echo "$OVERCOMMIT">$VM/overcommit_memory /sbin/hdparm -k -u 1 -m 32 -c 1 /dev/hda; /sbin/hdparm -k -u 1 -m 16 -c 1 /dev/hdc; ;; stop) toUCh /root/shouldnt.happen; ;; *) echo "USAGE $0 {startstop}"; ;; esac; 10. 假如你有Solaris for X86的话,可以运用它的分区工具把你的所有分区都改成UFS。Linux的当前Kernel是支持UFS的。在数据库运用上,UFS比ext2好。 11. 假如可能,应该采用诸如IBM JFS或SGI XFS这样的64位文件系统。
❷ cenos7.0下windows系统文件怎么用
主要特性包括以下几点数据完全性:
采用XFS文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以你磁盘上的文件不再会意外宕机而遭到破坏了。不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁盘文件内容。
传输特性 :
XFS文件系统采用优化算法,日志记录对整体文件操作影响非常小。XFS查询与分配存储空间非常快。xfs文件系统能连续提供快速的反应时间。笔者曾经对XFS、JFS、Ext3、ReiserFS文件系统进行过测试,XFS文件文件系统的性能表现相当出众。
可扩展性 :
XFS 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间。对特大文件及小尺寸文件的支持都表现出众,支持特大数量的目录。最大可支持的文件大 小为263 = 9 x 1018 = 9 exabytes,最大文件系统尺寸为18 exabytes。
XFS使用高的表结构(B+树),保证了文件系统可以快速搜索与快速空间分配。XFS能够持续提供高速操作,文件系统的性能不受目录中目录及文件数量的限制。
传输带宽 :
XFS 能以接近裸设备I/O的性能存储数据。在单个文件系统的测试中,其吞吐量最高可达7GB每秒,对单个文件的读写操作,其吞吐量可达4GB每秒。
相比EXT3或EXT4都有不少的有点
❸ Linux上MySQL优化提升性能 哪些可以优化的关闭NUMA特性
一、CPU
首先从CPU说起。
你仔细检查的话,有些服务器上会有的一个有趣的现象:你cat /proc/cpuinfo时,会发现CPU的频率竟然跟它标称的频率不一样:
#cat /proc/cpuinfo
processor : 5
model name : Intel(R) Xeon(R) CPU E5-2620 0 @2.00GHz
cpu MHz : 1200.000
这个是Intel E5-2620的CPU,他是2.00G * 24的CPU,但是,我们发现第5颗CPU的频率为1.2G。
这是什么原因呢?
这些其实都源于CPU最新的技术:节能模式。操作系统和CPU硬件配合,系统不繁忙的时候,为了节约电能和降低温度,它会将CPU降频。这对环保人士和抵制地球变暖来说是一个福音,但是对MySQL来说,可能是一个灾难。
为了保证MySQL能够充分利用CPU的资源,建议设置CPU为最大性能模式。这个设置可以在BIOS和操作系统中设置,当然,在BIOS中设置该选项更好,更彻底。由于各种BIOS类型的区别,设置为CPU为最大性能模式千差万别,我们这里就不具体展示怎么设置了。
然后我们看看内存方面,我们有哪些可以优化的。
i) 我们先看看numa
非一致存储访问结构 (NUMA : Non-Uniform Memory Access) 也是最新的内存管理技术。它和对称多处理器结构 (SMP : Symmetric Multi-Processor) 是对应的。简单的队别如下:
如图所示,详细的NUMA信息我们这里不介绍了。但是我们可以直观的看到:SMP访问内存的都是代价都是一样的;但是在NUMA架构下,本地内存的访问和非 本地内存的访问代价是不一样的。对应的根据这个特性,操作系统上,我们可以设置进程的内存分配方式。目前支持的方式包括:
--interleave=nodes
--membind=nodes
--cpunodebind=nodes
--physcpubind=cpus
--localalloc
--preferred=node
简而言之,就是说,你可以指定内存在本地分配,在某几个CPU节点分配或者轮询分配。除非 是设置为--interleave=nodes轮询分配方式,即内存可以在任意NUMA节点上分配这种方式以外。其他的方式就算其他NUMA节点上还有内 存剩余,Linux也不会把剩余的内存分配给这个进程,而是采用SWAP的方式来获得内存。有经验的系统管理员或者DBA都知道SWAP导致的数据库性能 下降有多么坑爹。
所以最简单的方法,还是关闭掉这个特性。
关闭特性的方法,分别有:可以从BIOS,操作系统,启动进程时临时关闭这个特性。
a) 由于各种BIOS类型的区别,如何关闭NUMA千差万别,我们这里就不具体展示怎么设置了。
b) 在操作系统中关闭,可以直接在/etc/grub.conf的kernel行最后添加numa=off,如下所示:
kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/VolGroup-root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=VolGroup/root rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_LVM_LV=VolGroup/swap rhgb crashkernel=auto quiet KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM numa=off
另外可以设置 vm.zone_reclaim_mode=0尽量回收内存。
c) 启动MySQL的时候,关闭NUMA特性:
numactl --interleave=all mysqld
当然,最好的方式是在BIOS中关闭。
ii) 我们再看看vm.swappiness。
vm.swappiness是操作系统控制物理内存交换出去的策略。它允许的值是一个百分比的值,最小为0,最大运行100,该值默认为60。vm.swappiness设置为0表示尽量少swap,100表示尽量将inactive的内存页交换出去。
具体的说:当内存基本用满的时候,系统会根据这个参数来判断是把内存中很少用到的inactive 内存交换出去,还是释放数据的cache。cache中缓存着从磁盘读出来的数据,根据程序的局部性原理,这些数据有可能在接下来又要被读 取;inactive 内存顾名思义,就是那些被应用程序映射着,但是 长时间 不用的内存。
我们可以利用vmstat看到inactive的内存的数量:
#vmstat -an 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
1 0 0 27522384 326928 1704644 0 0 0 153 11 10 0 0 100 0 0
0 0 0 27523300 326936 1704164 0 0 0 74 784 590 0 0 100 0 0
0 0 0 27523656 326936 1704692 0 0 8 8 439 1686 0 0 100 0 0
0 0 0 27524300 326916 1703412 0 0 4 52 198 262 0 0 100 0 0
通过/proc/meminfo 你可以看到更详细的信息:
#cat /proc/meminfo | grep -i inact
Inactive: 326972 kB
Inactive(anon): 248 kB
Inactive(file): 326724 kB
这里我们对不活跃inactive内存进一步深入讨论。 Linux中,内存可能处于三种状态:free,active和inactive。众所周知,Linux Kernel在内部维护了很多LRU列表用来管理内存,比如LRU_INACTIVE_ANON, LRU_ACTIVE_ANON, LRU_INACTIVE_FILE , LRU_ACTIVE_FILE, LRU_UNEVICTABLE。其中LRU_INACTIVE_ANON, LRU_ACTIVE_ANON用来管理匿名页,LRU_INACTIVE_FILE , LRU_ACTIVE_FILE用来管理page caches页缓存。系统内核会根据内存页的访问情况,不定时的将活跃active内存被移到inactive列表中,这些inactive的内存可以被 交换到swap中去。
一般来说,MySQL,特别是InnoDB管理内存缓存,它占用的内存比较多,不经常访问的内存也会不少,这些内存如果被Linux错误的交换出去了,将 浪费很多CPU和IO资源。 InnoDB自己管理缓存,cache的文件数据来说占用了内存,对InnoDB几乎没有任何好处。
所以,我们在MySQL的服务器上最好设置vm.swappiness=0。
我们可以通过在sysctl.conf中添加一行:
echo vm.swappiness = 0 /etc/sysctl.conf
并使用sysctl -p来使得该参数生效。
三、文件系统
最后,我们看一下文件系统的优化
i) 我们建议在文件系统的mount参数上加上noatime,nobarrier两个选项。
用noatime mount的话,文件系统在程序访问对应的文件或者文件夹时,不会更新对应的access time。一般来说,Linux会给文件记录了三个时间,change time, modify time和access time。
我们可以通过stat来查看文件的三个时间:
stat libnids-1.16.tar.gz
File: `libnids-1.16.tar.gz'
Size: 72309 Blocks: 152 IO Block: 4096 regular file
Device: 302h/770d Inode: 4113144 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access : 2008-05-27 15:13:03.000000000 +0800
Modify: 2004-03-10 12:25:09.000000000 +0800
Change: 2008-05-27 14:18:18.000000000 +0800
其中access time指文件最后一次被读取的时间,modify time指的是文件的文本内容最后发生变化的时间,change time指的是文件的inode最后发生变化(比如位置、用户属性、组属性等)的时间。一般来说,文件都是读多写少,而且我们也很少关心某一个文件最近什 么时间被访问了。
所以,我们建议采用noatime选项,这样文件系统不记录access time,避免浪费资源。
现在的很多文件系统会在数据提交时强制底层设备刷新cache,避免数据丢失,称之为write barriers。但是,其实我们数据库服务器底层存储设备要么采用RAID卡,RAID卡本身的电池可以掉电保护;要么采用Flash卡,它也有自我保 护机制,保证数据不会丢失。所以我们可以安全的使用nobarrier挂载文件系统。设置方法如下:
对于ext3, ext4和 reiserfs文件系统可以在mount时指定barrier=0;对于xfs可以指定nobarrier选项。
ii) 文件系统上还有一个提高IO的优化万能钥匙,那就是deadline。
在 Flash技术之前,我们都是使用机械磁盘存储数据的,机械磁盘的寻道时间是影响它速度的最重要因素,直接导致它的每秒可做的IO(IOPS)非常有限, 为了尽量排序和合并多个请求,以达到一次寻道能够满足多次IO请求的目的,Linux文件系统设计了多种IO调度策略,已适用各种场景和存储设备。
Linux的IO调度策略包括:Deadline scheler,Anticipatory scheler,Completely Fair Queuing(CFQ),NOOP。每种调度策略的详细调度方式我们这里不详细描述,这里我们主要介绍CFQ和Deadline,CFQ是Linux内 核2.6.18之后的默认调度策略,它声称对每一个 IO 请求都是公平的,这种调度策略对大部分应用都是适用的。但是如果数据库有两个请求,一个请求3次IO,一个请求10000次IO,由于绝对公平,3次IO 的这个请求都需要跟其他10000个IO请求竞争,可能要等待上千个IO完成才能返回,导致它的响应时间非常慢。并且如果在处理的过程中,又有很多IO请 求陆续发送过来,部分IO请求甚至可能一直无法得到调度被 饿死 。而deadline兼顾到一个请求不会在队列中等待太久导致饿死,对数据库这种应用来 说更加适用。
实时设置,我们可以通过
echo deadline /sys/block/sda/queue/scheler
来将sda的调度策略设置为deadline。
我们也可以直接在/etc/grub.conf的kernel行最后添加elevator=deadline来永久生效。
CPU方面:
关闭电源保护模式
内存:
vm.swappiness = 0
关闭numa
文件系统:
用noatime,nobarrier挂载系统
IO调度策略修改为deadline。
❹ ext4与xfs比有什么优势和劣势。
数据完全性上:
采用XFS文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以磁盘上的文件不再会意外宕机而遭到破坏了。
不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁盘文件内容。相比ext4更能保证数据完整。
传输特性上:
XFS文件系统采用优化算法,日志记录对整体文件操作影响非常小。XFS查询与分配存储空间非常快。xfs文件系统能连续提供快速的反应时间。笔者曾经对XFS、JFS、Ext3、ReiserFS文件系统进行过测试,相比ext4,XFS文件文件系统的性能表现相当出众。
可扩展性上:
XFS 是一个全64-bit的文件系统,可以支持上百万T字节的存储空间。对特大文件及小尺寸文件的支持都表现出众,支持特大数量的目录。最大可支持的文件大 小为263 = 9 x 1018 = 9 exabytes,最大文件系统尺寸为18 exabytes。
XFS使用高的表结构(B+树),保证了文件系统可以快速搜索与快速空间分配。相比ext4,XFS能够持续提供高速操作,文件系统的性能不受目录中目录及文件数量的限制。
传输带宽上:
XFS 能以接近裸设备I/O的性能存储数据。在单个文件系统的测试中,其吞吐量最高可达7GB每秒,对单个文件的读写操作,其吞吐量可达4GB每秒。相比ext4,XFS传输速度更快。
(4)xfs优化扩展阅读:
在分区表所在的64bytes容量中,总共分为四组记录区,每组记录区记录了该区段的起始与结束的柱面号码。
假设上面的硬盘设备文件名为/dev/hda时, 那么这四个分区在Linux系统中的设备文件名如下所示,重点在于文件名后面会再接一个数字,这个数字与该分区所在位置有关。
由于分区表只有64bytes而已,最多只能容纳四个分区,这四个分区被称为主或扩展分区。当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理。
❺ linux的架构是怎样优化的
(1).系统安装优化
在安装linux系统时,可以在磁盘的划分、SWAP内存的分配等加载项上做优化。
磁盘层面:磁盘分配可以遵循应用的要求:a.对于读写数据频繁但数据安全性要求不高时,可以将磁盘做成RAID0;b.对数据安全性要求高却对数据读写没有要求的可以做成RAID1;c.对读要求高,而对写操作没有要求,但要保证数据安全性,则可以将磁盘做成RAID5;d.对读写要求高,并且要求数据安全性高,则可以将磁盘做成RAID0+1;通过不同的需求将磁盘做成不同的RAID级别,在磁盘层面对系统进行优化。
内存层面:当内存较小(物理内存小于4G),一般设置SWAP交换分区为内存的2倍,如果物理内存大于4G而小于16G,设置SWAP交换分区大小等于或略小于内存;如果内存大小大于16G,原则上可以将SWAP分区设置为0,建议设置一个一定大小的SWAP分区起缓冲作用。
(2).内核参数优化
内核参数的优化要和具体应用结合起来整体考虑,根据应用的不同要求进行参数的优化。
(3).文件系统优化
Linux下可选的文件系统有ext2、ext3、ext4、xfs和ReiserFS,根据应用的需求,选择不同的文件系统。
Linux标准文件系统是从VFS开始的,然后是ext,接着是ext2,准确来说。Ext2是linux上标准的文件系统,ext3是在ext2基础上增加日志形成的,,是基于超级块和inode的设计理念设计的。
XFS文件系统是一个高级日志文件,通过分布式处理磁盘请求、定位数据、保持cache的一致性来提供对文件系统数据的低延迟、高带宽的访问。所以XFS伸缩性较好,具有优秀的日志记录功能、可扩展性强、快速写入性能等特点。
ReiserFS是一款高性能的日志文件系统,通过平衡树结构来管理数据,包括文件数据、文件名以及日志支持等。优点是访问性能好和安全性高。具有高效、合理利用磁盘空间,先进的日志管理机制,特有的搜寻方式、海量磁盘存储等特点。
(4).应用的程序的优化
应用程序的优化主要是测试应用程序的可用性以及高效性,目的是调试应用程序是否存在bug。
❻ linux xfs支持多大的空间
XFS的开发始于1993年,在1994年被首次部署在IRIX 5.3上。2000年5月,XFS在GNU通用公共许可证下发布,并被移植到Linux上。2001年XFS首次被Linux发行版所支持,现在所有的Linux发行版上都可以使用XFS。
XFS最初被合并到Linux 2.4主线中,这使得XFS几乎可以被用在任何一个Linux系统上。Arch, Debian, Fedora, openSUSE, Gentoo,Kate OS, Mandriva,Slackware, Ubuntu, VectorLinux和Zenwalk的安装程序中都可选择XFS作为文件系统,但由于默认的启动管理器GRUB中存在bug,以上发行版中只有少数几个允许用户在 /boot 挂载点(引导目录)上使用XFS文件系统。
FreeBSD在2005年12月获得了对XFS的只读支持,并在次年6月引入了试验性的写支持。不过这些只是为了方便用户从Linux上迁移到FreeBSD上,并不是为了把XFS作为主打文件系统使用。Red Hat EnterpriseLinux 5.4 64位版的内核完整支持XFS,但未包含创建和使用XFS的命令行工具(CentOS正在进行这方面的尝试),原因是这些软件包还不够稳定。
特性
数据完全性
采用XFS文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以你磁盘上的文件不再会意外宕机而遭到破坏了。不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁盘文件内容。
传输特性
XFS文件系统采用优化算法,日志记录对整体文件操作影响非常小。XFS查询与分配存储空间非常快。xfs文件系统能连续提供快速的反应时间。笔者曾经对XFS、JFS、Ext3、ReiserFS文件系统进行过测试,XFS文件文件系统的性能表现相当出众。
可扩展性
XFS 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间。对特大文件及小尺寸文件的支持都表现出众,支持特大数量的目录。最大可支持的文件大小为263 = 9 x 1018 =9 exabytes,最大文件系统尺寸为18 exabytes。
XFS使用高的表结构(B+树),保证了文件系统可以快速搜索与快速空间分配。XFS能够持续提供高速操作,文件系统的性能不受目录中目录及文件数量的限制。
传输带宽
XFS 能以接近裸设备I/O的性能存储数据。在单个文件系统的测试中,其吞吐量最高可达7GB每秒,对单个文件的读写操作,其吞吐量可达4GB每秒。
Exabyte(EB,艾可萨字节或艾字节)是一种资讯计量单位,现今通常在标示网络硬盘总容量,或具有大容量的储存媒介之储存容量时使用。
Exabyte往往亦可以指Exbibyte(EiB),其换算公式是:
1EiB = 1,024 PiB
1EiB = 1,048,576(1024)TiB
1EiB =1,073,741,824 (1024)GiB
1EiB = 1,099,511,627,776(1024)MiB
1EiB =1,125,899,906,842,624 (1024)KiB
1EiB =1,152,921,504,606,846,976 (1024)B
❼ 为什么CENTOS 7.0开始选择XFS作为默认的文件系统
是由商业版红帽决定用xfs为默认,故而centos这个社区版自然得跟上步伐了
主要特性包括以下几点
数据完全性:
采用XFS文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以你磁盘上的文件不再会意外宕机而遭到破坏了。不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁盘文件内容。
传输特性 :
XFS文件系统采用优化算法,日志记录对整体文件操作影响非常小。XFS查询与分配存储空间非常快。xfs文件系统能连续提供快速的反应时间。笔者曾经对XFS、JFS、Ext3、ReiserFS文件系统进行过测试,XFS文件文件系统的性能表现相当出众。
可扩展性 :
XFS 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间。对特大文件及小尺寸文件的支持都表现出众,支持特大数量的目录。最大可支持的文件大 小为263 = 9 x 1018 = 9 exabytes,最大文件系统尺寸为18 exabytes。
XFS使用高的表结构(B+树),保证了文件系统可以快速搜索与快速空间分配。XFS能够持续提供高速操作,文件系统的性能不受目录中目录及文件数量的限制。
传输带宽 :
XFS 能以接近裸设备I/O的性能存储数据。在单个文件系统的测试中,其吞吐量最高可达7GB每秒,对单个文件的读写操作,其吞吐量可达4GB每秒。
相比EXT3或EXT4都有不少的有点
❽ 请高手指教: linux 内存优化怎么做 就是在申请内存时怎么做到较少内存碎片
你的情况都没说明,怎么能够让人知道症状,
我不是什么大虾,但是我知道为什么
linux支持数十种文件系统。ext3/ext2/xfs等,包括windows的NTFS和FAT等等,
而windows主要使用NTFS文件系统,兼容FAT文件系统,
你安装的时候肯定是选用了NTFS安装,导致出错,这个原因应该是硬盘的文件分区表出错,如果你用FAT文件系统安装,应该不会出错,至于原理,希望你把具体症状说出。
❾ oracle SQL优化 主表(ZS_YJSF)数据量上亿,已分区 请大神指教
oracle SQL优化 主表(ZS_YJSF)数据量上亿,已分区
要看数据多到何种程度。
比如一个表的笔数只是几百,如果不需要和其他大表关联查询数据,连索引都不用建。
如果是几十万级别的表,一般正确建索引就可以。
如果是千万级别的表,不但要正确建索引,而且要定时手工进行收集统计信息维护,不建议系统自动维护,以免影响使用性能。
如果是亿以上级别的表,则可考虑按一定条件拆分表资料,将旧资料归档,这样可改善生成表的使用。
数据库优化的同时,程序也要进行相应优化,程序和数据科学搭配,才能使性能达到最佳。