• 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

  • 相关阅读:
    一个、说到所有的扩展指标
    时序图、流程图
    流程图总结
    UML活动图与流程图的区别
    类图与对象图
    app的描述-软件的描述
    UML的目标
    软件建模的用途
    Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
    Serializable 和 Parcelable 区别
  • 原文地址:https://www.cnblogs.com/yjt1993/p/9510300.html
Copyright © 2020-2023  润新知