• Hadoop优化 操作系统优化


    1、优化文件系统,修改/etc/fstab 在defaults后面添加noatime,表示不记录文件的访问时间。

    修改为:

    如果不想重新启动操作系统使配置生效,那么应该执行:

    # mount -o remount /dev/mapper/centos-root
    # mount -o remount /dev/mapper/centos-home  

    当然,如果有其他的磁盘,同样可以这样操作,我这里测试就两个逻辑卷

    2、预读缓冲

          预读技术可以有效的减少磁盘寻道次数和应用的I/O等待时间,增加Linux文件系统预读缓冲区的大小(默认为256 sectors,128KB),可以明显提高顺序文件的读性能,建议调整到1024或2048 sectors。预读缓冲区的设置可以通过blockdev命令来完成。

    blockdev 工具允许从命令行调用区块设备控制程序,常用参数如下:
    
      --getra 读取预读值
      --getfra 读取文件系统预读
      --setfra FSREADAHEAD 设置文件系统预读
      --setra READAHEAD 设置设备预读
      --getra 读取设备的预读值
      --setbsz BLOCKSIZE 在文件描述符打开块设备的时候设置块大小
      --getioopt 读取设备优化IO大小    
      --getiomin 读取设备最小IO大小
      -–setro 设置设备为只读
      -–getro 读取设备是否为只读(成功为1,0则为可读写)
      -–setrw 设置设别为可读写
      -–getss 打印设备的扇区大小也叫逻辑块大小,通常是512
      --getpbsz 读取设备物理块大小,通常是4096
      --getbsz 读取设备块大小,通常是4096
      -–getsize(-getsz) 打印设备的容量,按照一个扇区512个字节计算
      --getsize64 打印设备的容量,以字节为单位显示
      -–setra N 设置预读扇区(512字节)为N个.Set readahead to N 512-byte sectors.
      -–getra 打印readahead(预读扇区)
      -–flushbufs 刷新缓冲
      -–rereadpt 重读分区表。

    我们可以将默认的预读值(256 sectors,128k)调大,具体的操作如下:

    [root@test pam.d]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   60G   14G   47G  24% /
    devtmpfs                 474M     0  474M   0% /dev
    tmpfs                    489M     0  489M   0% /dev/shm
    tmpfs                    489M   14M  476M   3% /run
    tmpfs                    489M     0  489M   0% /sys/fs/cgroup
    /dev/sda1                197M  143M   55M  73% /boot
    /dev/mapper/centos-home   16G   37M   16G   1% /home
    tmpfs                     98M     0   98M   0% /run/user/0
    [root@test pam.d]# blockdev --getra /dev/sda1
    8192
    [root@test pam.d]# blockdev --setra 10240  /dev/sda1 
    [root@test pam.d]# blockdev --getra /dev/sda1
    10240

    3、虚拟内存调优:

    https://www.cnblogs.com/yinzhengjie/p/9994207.html

    4、网卡调优:

    https://www.cnblogs.com/yinzhengjie/p/9995756.html

  • 相关阅读:
    风雨中,苦算什么!!!
    痛心疾首+无奈绝望!!!
    PHP页面跳转总结
    Java的HttpClient的实现
    java细节篇(==和equals的区别)
    cmd命令笔记
    Python的HttpClient实现
    常用linux命令
    Go的HttpClient实现
    android问题笔记集
  • 原文地址:https://www.cnblogs.com/yjt1993/p/10813896.html
Copyright © 2020-2023  润新知