小编Per*_*sen的帖子

云(虚拟)机器可免费用于开源测试?

任何人都知道云中的位置,您可以创建(虚拟)机器(如Amazon EC2)用于计算任务 - 提供数量(至少5-10)个免费计算机的位置,如果它们用于测试打开源项目?

我不是免费为开源项目寻找像Jenkins,Hudson,TeamCity等CI环境的地方.我正在寻找一个可以运行某些服务器的地方,我可以在集群和分布式环境中设置开源系统.然后从自动化测试(例如,从CI环境执行)开始针对该集群和分布式环境的测试.

open-source distributed-computing cluster-computing virtual-machine

12
推荐指数
1
解决办法
4万
查看次数

在Linux上使用java进程的高iowait

我有一个并发系统,涉及许多机器/节点.每台机器运行几个JVM做不同的东西.它是一个"分层"架构,每个层都包含许多运行在机器上的JVM.基本上,顶层JVM通过文件从外部接收输入,解析输入并在第二层中为"存储"发送尽可能多的小记录.第二层实际上并不保留数据本身,但实际上它仍然存在于第三层(HBase和Solr)中,并且HBase实际上并不持久保存它,因为它将它发送到第四层(HDFS)以实现持久性.

层之间的大多数通信是同步的,因此它当然会在很多线程中等待较低层完成.但我希望那些等待的线程能够"免费"使用CPU.

我看到一个非常高的iowait(顶部%wa) - 像80-90%的iowait和只有10-20%的sys/usr CPU使用率.系统似乎已经筋疲力尽 - 通过ssh登录速度慢,对命令响应速度慢等.

我的问题是,所有那些等待较低层完成的JVM线程是否会导致这种情况?它不应该是"免费"等待响应(套接字).对此有关重要,不同的层是否使用阻塞或非阻塞(NIO)io?究竟在什么情况下Linux算作iowait(%wa在顶部)?当机器上所有JVM中的所有线程都处于等待状态时(因为在此期间没有其他线程可以运行以执行某些有意义的操作)?或者即使有其他进程准备好使用CPU进行实际处理,线程等待也会计入%wa?

我真的想彻底解释它是如何工作的以及如何解释这个高%wa.在开始时我猜想当所有线程都在等待时它会被计为%wa,但实际上还有足够的空间来做更多,所以我试图增加线程数量,期望获得更多吞吐量,但这不会发生.所以这是一个真正的问题,而不仅仅是看顶部的"视觉"问题.

以下输出取自仅运行HBase和HDFS的计算机.它在HBase和/或HDFS的机器上显示的问题(最清楚)

--- jps ---
19498 DataNode
19690 HRegionServer
19327 SecondaryNameNode

---- typical top -------
top - 11:13:21 up 14 days, 18:20,  1 user,  load average: 4.83, 4.50, 4.25
Tasks:  99 total,   1 running,  98 sleeping,   0 stopped,   0 zombie
Cpu(s): 14.1%us,  4.3%sy,  0.0%ni,  5.4%id, 74.8%wa,  0.0%hi,  1.3%si,  0.0%st
Mem:   7133800k total,  7099632k used,    34168k free,    55540k buffers
Swap:   487416k total,      248k used,   487168k free,  2076804k cached
  PID USER      PR  NI …
Run Code Online (Sandbox Code Playgroud)

java concurrency hadoop iowait

11
推荐指数
1
解决办法
6052
查看次数

将pcap文件连续输送到tshark/wireshark

我有连续生成的pcap文件给我.它想要不断地将它们送到"永远在线"的tshark/wireshark.这是我尝试过的(OSX)

mkfifo tsharkin
tail -f -c +0 tsharkin | tshark -l -i - > tsharkout 2>stderr &
cat file1.pcap > tsharkin
Run Code Online (Sandbox Code Playgroud)

以上工作正常,我从tsharkout中的file1.pcap得到预期的输出

cat file2.pcap > tsharkin
Run Code Online (Sandbox Code Playgroud)

以上不起作用,我在tsharkout中什么都没得到,但是我在stderr中得到"1包丢弃"+"3包捕获"

cat file2.pcap > tsharkin
Run Code Online (Sandbox Code Playgroud)

再次尝试使tail/tshark进程停止/崩溃

我尝试再次这样做,但这次先使用file2.pcap然后再使用file1.pcap.这次file2.pcap处理得很好,file1.pcap使tail/tshark进程停止/崩溃.因此,我将得出结论,两个pcap文件没有任何问题,但似乎tshark不喜欢抛出多个pcap文件.

为了测试它,我尝试首先使用mergecap合并file1.pcap和file2.pcap,然后将其输入到tshark

mergecap -F pcap -w file1_2.pcap file1.pcap file2.pcap
cat file1_2.pcap > tsharkin
Run Code Online (Sandbox Code Playgroud)

这工作正常,我得到tsharkout中file1.pcap和file2.pcap的预期输出

问题是我的pcap文件一路走来,所以我不能在将它们全部合并到tshark之​​前.我需要能够在pcap文件到达时将其提供给"永远运行"的tshark.我怎样才能做到这一点?

sniffing pcap wireshark tshark

5
推荐指数
1
解决办法
597
查看次数