为什么Linux上的一个Java进程与启动两次的速度相同?

为什么Linux上的一个Java进程与启动两次的速度相同?,第1张

概述为什么Linux上的一个Java进程启动两次的速度相同?

我有一个Java肥皂客户端发送一些XML文件到远程服务器进行处理。

它使用java 1.7的java.nio.file.WatchEvent<Path> (几乎就像它在这里解释的那样)监视添加到目录的新文件。

它每分钟处理大约2或3个文件。

寻找一种方法来提高发送和处理文件的速度我决定启动同一个jar两次,当然监控不同的目录。

linux套接字缓冲不平衡

截图屏幕没有冻结。 C#和windowsXP

将Java线程ID与本地linux PID匹配

为服务器大量静态内容调整Nginx / CentOS

是否有可能在C ++代码中使用linux Perf分析器?

我无法解释为什么两个进程仍然每分钟处理大约2或3个文件。 我怀疑问题是在远程服务器,因为我有一个日志,显示每个文件开始和结束它正在处理的时刻,它显示几乎相同的行为时,只使用一个linux进程比使用两个。

任何想法为什么会发生这种情况?

PS1不知道我应该在这里添加什么信息。 随意问。

PS2服务器是一个虚拟的,正在使用:

java version "1.7.0_07" Java(TM) SE Runtime Environment (build 1.7.0_07-b10) Java HotSpot(TM) Server VM (build 23.3-b01,mixed mode)

日Thnx。

更新1

我的意思是,只使用一个linux进程的总吞吐量与使用两个时相比是相同的。

更新2

vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ rb swpd free buff cache si so bi bo in cs us sy ID wa st 5 0 0 1716872 0 0 0 0 1874 1960 0 6 17 7 74 2 0

更新3

好的,除了cpu之外,还应该有一个瓶颈。

任何build议我应该用什么工具或工具来find它? (请记住,这是一个Java应用程序)

在windows上运行JAVA Intel与Solaris Sparc(T1000)

慢图片框

Visual Studio 2015慢

是否有任何方法限制一个进程的cpu /内存?

以特定的速度执行stdout输出

分而治之是解决这个问题的最好方法。

例如,创建一个只找到文件并打印的文件,然后测量运行的速度。 如果速度慢,那么入站文件扫描就是慢点 – 无论是由于文件添加的速度,文件系统缓慢或其他需要被诊断的原因。

创建第二个使用一些固定内容不断执行文件处理的进程。 处理停止并开始时记录。

一旦你有最小的代码重现问题,你将有一个更好的主意在哪里找到缓慢的来源。

总结

以上是内存溢出为你收集整理的为什么Linux上的一个Java进程与启动两次的速度相同?全部内容,希望文章能够帮你解决为什么Linux上的一个Java进程与启动两次的速度相同?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1154799.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存