建议看看:https://www.cnblogs.com/yinzhengjie/p/9994207.html
一、关闭swap交换分区
Linux swapoff命令用于关闭系统交换区(swap area)。
swapoff实际上为swapon的符号连接,可用来关闭系统的交换区。
1、swapoff 命令:可以关闭交换分区,swapon命令可以打开交换分区。
- -a 将/etc/fstab文件中所有设置为swap的设备关闭
- -h 帮助信息
- -V 版本信息
列(1):显示分区信息。
[hadoop@slave2 zookeeper-3.4.13]$ sudo sfdisk -l
[sudo] password for hadoop:
Disk /dev/sda: 10443 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 * 0+ 25- 26- 204800 83 Linux
/dev/sda2 25+ 156- 131- 1048576 82 Linux swap / Solaris
/dev/sda3 156+ 10443- 10288- 82631680 8e Linux LVM
/dev/sda4 0 - 0 0 0 Empty
Disk /dev/mapper/VolGroup-LogVol00: 3946 cylinders, 255 heads, 63 sectors/track
Disk /dev/mapper/VolGroup-LogVol01: 6339 cylinders, 255 heads, 63 sectors/track
(2)关闭交换分区
[hadoop@slave2 zookeeper-3.4.13]$ sudo swapoff /dev/sda2
(3)利用swapoff和swapon刷新swap缓存
可以用以下两个命令清除刷新swap
swapoff -a
swapon -a
这样swap就还原到初始状态
(4)设置swap优先级
默认的swap优先级为60,可以适当的降低,来提高系统的性能。
[hadoop@slave2 zookeeper-3.4.13]$ sysctl -q vm.swappiness
vm.swappiness = 60
你会看到值是60, 更改:
这 样你就将值由60改为10,这可以大大降低系统对于swap的写入,建议内存为512m或更多的朋友采用此方法。如你你发现你对于swap的使用极少,可 以将值设为0。这并不会禁止你对swap的使用,而是使你的系统对于swap的写入尽可能的少,同时尽可能多的使用你的实际内存。这对于你在切换应用程序 时有着巨大的作用,因为这样的话它们是在物理内存而非swap分区中。
如果你想永久得改变这一值,你需要更改 sysctl.conf 文件:
添加:
vm.swappiness=10
到末行,需要重启生效。
我发现对 于我的1G内存,将此值设为5是最合适的。
二、修改文件描述符,用户进程数和网络连接数( net.core.somaxconn)
(1)
查看文件描述符
#ulimit -n 或者ulimit -a
修改文件描述符,两种方法:
- ulimit -n number
- vim /etc/security/limits.conf
(2)
查看用户进程数
#ulimit -u 或者ulimit -a
修改用户进程数,两种方法:
- ulimit -u numbers
- vim /etc/security/limits.conf
】
(3)
修改网络连接数,两种方法:
- sysctl -w net.core.somaxconn = number
- vim /etc/sysctl.conf
在最后一行添加:net.core.somaxconn = number
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time=120
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_announce=2
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2
然后 sysctl -p
三、修改预读缓冲区大小
磁盘I/O性能的发展远远滞后于CPU和内存,因而成为现代计算机系统的一个主要瓶颈。预读可以有效地减少磁盘的寻道次数和应用程序的I/O等待时间,是改进磁盘读I/O性能的重要优化手段之一。
命令:blockdev