当前位置: 首页 > news >正文

网站选项卡图标代码免费网站推广网站短视频

网站选项卡图标代码,免费网站推广网站短视频,搜狗优化排名,上海市工程信息网站java.io.IOException: Too many open files 前言: 项目最近报 java.io.IOException: Too many open files 问题,大概意思是:意味着你的应用程序尝试打开的文件描述符数量超过了系统允许的最大数量,在linux中每个进程打开的文件描…

java.io.IOException: Too many open files

前言:
项目最近报 java.io.IOException: Too many open files 问题,大概意思是:意味着你的应用程序尝试打开的文件描述符数量超过了系统允许的最大数量,在linux中每个进程打开的文件描述是有一定限制的。导致项目运行不起来,找了好几天,记录一下。
在这里插入图片描述

一、问题排查

1,查看所有进程信息

-- 查看所有进程消息
jps -l
-- 找到java进程的PID
ps aux | grep 应用名称

2,下面用 lsof 命令使用讲解,排查的逻辑
lsof: list open files 【列出来打开的命令】

-- 计算<进程>打开的文件数
lsof -p <进程号> | wc -l

进程 82253 打开的文件数是 2289
系统默认是 1024
在这里插入图片描述
命令如下

-- 查看系统默认进程打开的文件个数
ulimit -n

在这里插入图片描述

二、 解决方案:

1,可以临时增加进行打开文件的个数
– 将进程打开个数临时修改为 65535
ulimit -n 65535

2,查看占用端口的文件是哪个
lsof -p xxxxx
最后发现有个关于 kafka打开的文件过多

3,将所有关于kafka关闭 进程维持在200左右问题解决

问题分析:

1,之前对接kafka 做消费者时候,是有个while(true) 循环,不断拉取数据
2,现在是有个定时器,每5分钟拉取一波数据代码如下,问题出现在 每5分钟拉取一波数据,但是consumer 始终没有关闭。要关闭consumer ,进程打开数据量是有限的。【之前对接kafka都是不断轮训拉取数据使用while(true) 循环,也管自己没有考虑到,索引进行打开的文件数始终在增加】
定时器:

    @Scheduled(cron = "0 0/5 * * * ?")public void physicalAlarmConsumerTask(){kafkaReportClient.physicalAlarmTopicConsumer();}

消费者:

public void physicalAlarmTopicConsumer(){Date currentDate = new Date();// 1.配置KafkaProperties properties = new Properties();properties.put("bootstrap.servers","xxx");properties.put("group.id","xxx");properties.put("enable.auto.commit","false");properties.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");properties.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");KafkaConsumer<String, String> consumer = new KafkaConsumer<>(properties);consumer.subscribe(Collections.singleton("xxxaacctopic"));// 2.消费消息ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(5000));// 3.数据解析for (ConsumerRecord<String, String> record : records) {JSONObject jsonObject = JSON.parseObject(record.value());// TODO:业务逻辑...	}// 4.提交offsetconsumer.commitAsync(new OffsetCommitCallback() {@Overridepublic void onComplete(Map<TopicPartition, OffsetAndMetadata> offsets, Exception e) {if (e != null){log.error("xxx  commit offset is error,offsets:{},e:{}", offsets, e);} else {log.info("xxxx offset commit success");}}});}
小节

1,如果在有类似 Too many open files ,看下是哪个端口下的服务
2,lsof -P -i :xxx 【指定端口占用情况】
3,lsof -p xxx 【占用端口文件是哪个,具体分析】
4,lsof -p xxxx | wc -l
注:xxx为进程号。

喜欢我的文章记得点个在看,或者点赞,持续更新中ing…

http://www.hrbkazy.com/news/54810.html

相关文章:

  • 南宁建设公司网站提升seo排名
  • word贴到wordpress白帽seo是什么
  • 淄博网站建设优化珍云怎么申请域名建立网站
  • 常州网站制作计划好网站制作公司
  • 广州市花都区网站建设公司百度免费发布信息平台
  • 做网站备案都需要什么东西优化关键词的正确方法
  • 滁州市南谯区规划建设局网站自己怎么优化关键词
  • 郑州视频网站建设企业seo的措施有哪些
  • 石材做网站阿里云搜索
  • 在哪查看网站被收录的情况优化seo深圳
  • 济南的企业网站外贸建站网站推广
  • 网站开发asp今日国内新闻头条
  • 网站建设业务员培训如何自己建设网站
  • 网站开发 武汉杭州网站设计制作
  • 婚嫁类网站优化公司网站排名
  • wordpress 获取主题路径常州seo招聘
  • 做邪恶网站衱抓判多久北京百度科技有限公司电话
  • 服务网站建设公司2345网址中国最好
  • 超能搜索引擎系统网站百度经验怎么赚钱
  • 美妆购物网站开发的总结域名被墙检测
  • 手机ppt制作软件seo优化前景
  • 新闻网站开发教程百度信息流
  • 微信建站网站唐老鸭微信营销软件
  • 百度权重排名高的网站网站的优化和推广方案
  • 网站面试通知表格怎么做手机建站
  • 滨州正规网站建设价格抖音搜索优化
  • 南京网站推广万网域名注册流程
  • 怎么知道网站是什么开源做的个人网站推广怎么做
  • 网址注册了怎么做网站佛山百度关键词排名
  • 网页制作网站开发流程谷歌搜索引擎 google