Linux系统调优 北漂

建议看看: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, 更改:
 

[hadoop@slave2 zookeeper-3.4.13]$  sudo sysctl vm.swappiness=10


这 样你就将值由60改为10,这可以大大降低系统对于swap的写入,建议内存为512m或更多的朋友采用此方法。如你你发现你对于swap的使用极少,可 以将值设为0。这并不会禁止你对swap的使用,而是使你的系统对于swap的写入尽可能的少,同时尽可能多的使用你的实际内存。这对于你在切换应用程序 时有着巨大的作用,因为这样的话它们是在物理内存而非swap分区中。
如果你想永久得改变这一值,你需要更改 sysctl.conf 文件:
 

vim /etc/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

原文地址:https://www.cnblogs.com/yjt1993/p/9510300.html