返回顶部
首页 > 资讯 > 操作系统 >Java大型中间件系统中须调整的Linux内核参数有哪些
  • 423
分享到

Java大型中间件系统中须调整的Linux内核参数有哪些

2023-06-05 13:06:48 423人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关Java大型中间件系统中须调整的linux内核参数有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。作为Java开发者,必可避免的需要开发或使用一些中间件,对于

这篇文章将为大家详细讲解有关Java大型中间件系统中须调整的linux内核参数有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

作为Java开发者,必可避免的需要开发或使用一些中间件,对于Java开发的中间件,除了JVM参数必须调整外,Linux的一些内核参数也必须要调整。

无非都是跟磁盘文件io网络通信、内存管理、线程数量有关系的,因为我们的中间件系统在运行的时候无非就是跟这些打交道。

vm.overcommit_memory

这个参数有三个值可以选择,0、1、2。

如果值是0的话,在你的中间件系统申请内存的时候,操作系统内核会检查可用内存是否足够,如果足够的话就分配内存给你,如果感觉剩余内存不是太够了,干脆就拒绝你的申请,导致你申请内存失败,进而导致中间件系统异常出错。因此一般需要将这个参数的值调整为1,意思是把所有可用的物理内存都允许分配给你,只要有内存就给你来用,这样可以避免申请内存失败的问题。

比如我们曾经线上环境部署的Redis就因为这个参数是0,导致在save数据快照到磁盘文件的时候,需要申请大内存的时候被拒绝了,进而导致了异常报错。

可以用如下命令修改:

echo 'vm.overcommit_memory=1' >> /etc/sysctl.conf

vm.max_map_count

这个参数的值会影响中间件系统可以开启的线程的数量,同样也是非常重要的。

如果这个参数过小,有的时候可能会导致有些中间件无法开启足够的线程,进而导致报错,甚至中间件系统挂掉。

他的默认值是65536,但是这个值有时候是不够的,比如我们大数据团队的生产环境部署的kafka集群曾经有一次就报出过这个异常,说无法开启足够多的线程,直接导致Kafka宕机了。

可以用如下命令修改:

echo 'vm.max_map_count=655360' >> /etc/sysctl.conf

vm.swappiness

这个参数是用来控制进程的swap行为的,这个简单来说就是操作系统会把一部分磁盘空间作为swap区域,然后如果有的进程现在可能不是太活跃,就会被操作系统把进程调整为睡眠状态,把进程中的数据放入磁盘上的swap区域,然后让这个进程把原来占用的内存空间腾出来,交给其他活跃运行的进程来使用。

如果这个参数的值设置为0,意思就是尽量别把任何一个进程放到磁盘swap区域去,尽量大家都用物理内存。

如果这个参数的值是100,那么意思就是尽量把一些进程给放到磁盘swap区域去,内存腾出来给活跃的进程使用。

默认这个参数的值是60,有点偏高了,可能会导致我们的中间件运行不活跃的时候被迫腾出内存空间然后放磁盘swap区域去。因此通常在生产环境建议把这个参数调整小一些,比如设置为10,尽量用物理内存,别放磁盘swap区域去。

可以用如下命令修改:

echo 'vm.swappiness=10' >> /etc/sysctl.conf

ulimit

这个是用来控制linux上的最大文件连接数的,默认值可能是1024,一般肯定是不够的,因为你在大量频繁的读写磁盘文件的时候,或者是进行网络通信的时候,都会跟这个参数有关系

对于一个中间件系统而言肯定是不能使用默认值得,如果你采用默认值,很可能在线上会出现如下错误:

error: too many open files

因此通常建议用如下命令修改这个值:

echo 'ulimit -n 1000000' >> /etc/profile

一点小小的总结

中间件系统肯定要开启大量的线程(跟vm.max_map_count有关)。

而且要进行大量的网络通信和磁盘IO(跟ulimit有关)。

然后大量的使用内存(跟vm.swappiness和vm.overcommit_memory有关)。

所以对OS内核参数的调整,往往也就是围绕跟中间件系统运行最相关的一些东西。

关于Java大型中间件系统中须调整的Linux内核参数有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Java大型中间件系统中须调整的Linux内核参数有哪些

本文链接: https://lsjlt.com/news/243022.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java大型中间件系统中须调整的Linux内核参数有哪些
    这篇文章将为大家详细讲解有关Java大型中间件系统中须调整的Linux内核参数有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。作为Java开发者,必可避免的需要开发或使用一些中间件,对于...
    99+
    2023-06-05
  • Linux中如何优化系统性能和调整内核参数
    使用性能工具:Linux提供了许多性能工具,如top、vmstat、iostat等,可以帮助您监控系统的性能状况,找出性能瓶颈所...
    99+
    2024-04-02
  • Linux操作系统有哪些内核启动参数
    这篇文章主要讲解了“Linux操作系统有哪些内核启动参数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux操作系统有哪些内核启动参数”吧!Linux内核在启动的时候,能接收某些命令行选...
    99+
    2023-06-13
  • DBA的操作系统内核参数有哪些
    这篇文章将为大家详细讲解有关DBA的操作系统内核参数有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。DBA不可不知的操作系统内核参数背景操作系统为了适应更多的硬件环境,许多初始的设置值,...
    99+
    2023-06-05
  • Linux系统中有哪些内核管理的命令
    本篇内容主要讲解“Linux系统中有哪些内核管理的命令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中有哪些内核管理的命令”吧!1、lsmod 列加以挂载的内核模块;lsmod 是...
    99+
    2023-06-12
  • RedHat系统中有哪些重要内核文件
    RedHat系统中有哪些重要内核文件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  一、vmlinuz  vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual ...
    99+
    2023-06-07
  • Linux操作系统中内核的编译命令有哪些
    这篇文章给大家分享的是有关Linux操作系统中内核的编译命令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux操作系统的内核编译过程漫长:先做准备工作、然后配置,才开始编译。编译有关的命令有如下几个:...
    99+
    2023-06-16
  • RedHat系统中有哪些常用的重要内核文件
    本篇内容主要讲解“RedHat系统中有哪些常用的重要内核文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“RedHat系统中有哪些常用的重要内核文件”吧!  一、vmlinuz  vmlinuz...
    99+
    2023-06-10
  • Linux系统中ip route命令的参数有哪些
    ip route命令的常用参数如下:- default:设置默认路由。- via:指定下一跳的IP地址。- dev:指定出口网络设备...
    99+
    2023-09-13
    Linux
  • Linux系统中的文件目录有哪些内容
    这篇文章主要介绍“Linux系统中的文件目录有哪些内容”,在日常操作中,相信很多人在Linux系统中的文件目录有哪些内容问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统中的文件目录有哪些内容”的疑...
    99+
    2023-06-16
  • Linux系统中有哪些查询发型版本号以及内核版本的命令
    本篇内容介绍了“Linux系统中有哪些查询发型版本号以及内核版本的命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!了解Linux发行版本的...
    99+
    2023-06-12
  • Linux中有哪些有哪些常用的文件系统
    本篇文章给大家分享的是有关Linux中有哪些有哪些常用的文件系统,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Linux操作系统使用虚拟文件系统(VFS)向上和用户进程文件访问...
    99+
    2023-06-13
  • Linux系统中常见的文件系统有哪些?
      Linux系统是现在非常受欢迎的操作系统,在Linux之中,一切都是文件,因为有很多操作都是依靠文件系统才可以完成的,而且文件系统可以满足用户正常的使用,那么Linux中常见的文件系统有哪些为大家介绍一下。  总体来说,在Linux之中...
    99+
    2023-06-05
  • Linux系统中查看内存的方法有哪些
    小编给大家分享一下Linux系统中查看内存的方法有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1./proc/meminfo查看 RAM 使用情况最简单的方法是通过 /proc/meminfo。这个动态更新的虚拟文件...
    99+
    2023-06-27
  • PHP中的文件系统函数有哪些
    PHP中的文件系统函数有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。文件路径相关函数文件路径相关的函数往往在一些框架中会比较常见,而且多会配合 \_\_FILE\_\_ ...
    99+
    2023-06-20
  • 异步编程中Java数据类型的选择对Linux系统有哪些影响?
    异步编程已经成为现代编程语言中的一种主流编程方式。在Java中,异步编程主要通过使用Future和CompletableFuture两个类来实现。但是,在使用这些异步编程技术时,我们需要注意Java数据类型的选择对Linux系统的影响。 J...
    99+
    2023-09-16
    数据类型 linux 异步编程
  • Python在Linux系统中的大数据编程算法应用有哪些?
    Python是一种功能强大的编程语言,被广泛应用于数据科学、人工智能、机器学习等领域。Linux系统是Python的一个重要平台之一,为大数据编程算法提供了丰富的支持。本文将介绍Python在Linux系统中的大数据编程算法应用,包括常见的...
    99+
    2023-08-11
    linux 大数据 编程算法
  • Linux文件系统中,Java面试官最关心的问题有哪些?
    随着Java语言的发展,越来越多的企业开始使用Java进行开发。而在Java面试中,Linux文件系统是一个重要的考察点。Java开发人员需要熟悉Linux文件系统的基本操作和命令,以便在开发和维护过程中更加高效地进行工作。 下面是在Li...
    99+
    2023-08-04
    面试 linux 文件
  • 在Linux文件系统中导航的技巧有哪些
    这篇文章给大家分享的是有关在Linux文件系统中导航的技巧有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。cd 命令可能是任何 Linux 用户学习的前 10 个命令之一,但这并不是在 Linux 文件系统中...
    99+
    2023-06-16
  • Java中哪些数据类型适合在异步编程中使用Linux系统?
    在异步编程中,数据类型的选择对程序的性能和可维护性至关重要。在Linux系统下,Java作为一种高性能语言,有许多数据类型可以用于异步编程。本文将介绍Java中哪些数据类型适合在异步编程中使用Linux系统。 CompletableFu...
    99+
    2023-09-16
    数据类型 linux 异步编程
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作