我目前正在使用elasticsearch 0.9.19.我使用的机器有大约300GB的磁盘空间,其上的RAM大约是23GB.我已经为弹性搜索分配了大约10GB的ram.我的操作是密集的.他们在附近1000docs/s
.我只在机器上运行弹性搜索而没有其他进程.文档大小不大.它们很小,只有不超过10个字段.弹性搜索仅在具有1个分片和0个副本的一台机器上运行.
当我发送时,使用的内存会迅速增加1000 docs/s
.虽然我只为弹性搜索分配了10GB内存,但仍然消耗了大约21 GB内存,最终弹性搜索过程导致堆空间不足.后来我需要清除操作系统缓存以释放所有内存.即使我停止发送弹性搜索,1000docs/s
也不会自动清除内存.
因此,例如,如果我正在使用围绕1000doc/s
写入操作运行弹性搜索,那么我发现它很快就达到了18 GB Ram的使用率,之后当我将写入操作减少到仅10个docs/s时,所使用的内存仍然显示在18左右GB.我认为应该减少写入操作的数量.我使用批量API来执行每个查询大小为100个文档的写操作.当写操作大约为1000docs/sec时,数据来自4台机器
这些是我在做顶级之后得到的数字
内存:24731664k总计,18252700k使用,6478964k免费,322492k缓冲区
交换:总共4194296k,使用0k,免费4194296k,缓存8749780k
PID用户PR NI VIRT RES SHR S%CPU%MEM TIME + COMMAND
1004弹性体20 0 10.7g 8.3g 10m S 1 35.3 806:28.69 java
请告诉我们是否有任何想法,这可能是什么原因.由于这个问题,我必须停止我的申请.我想我缺少任何配置.我已经在这里阅读了弹性搜索的所有缓存相关文档 http://www.elasticsearch.org/guide/reference/index-modules/cache.html
我也尝试使用clear cache API清除缓存,并尝试使用flush api.但没有任何改善.
提前致谢.
我在名称下设置了第二个.xaml页面Page2.xaml
,我希望这样做,以便在单击我的按钮时,用户被带到Page2.xaml
我的按钮位于我的内部Page1.xaml
:
<Grid>
<Button x:Name="localModeBtn"
Style="{StaticResource MainButtonStyle}"
Content="local mode"
Click="localModeBtn_Click" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
对于按钮事件处理程序:
private void localModeBtn_Click(object sender, RoutedEventArgs e)
{
Uri uri = new Uri("Page2.xaml", UriKind.Relative);
this.NavigationService.Navigate(uri);
}
Run Code Online (Sandbox Code Playgroud)
点击按钮后,我收到一条错误,上面写着"无法找到资源page2.xaml
"这个东西Page2.xaml
是在同一个文件夹中,Pag1.xaml
所以我看不出哪里出错了?
Import React
VS Import React, { Component }
哪一个更好,为什么?
或者除了稍后编写更少的代码之外它没有任何区别?
写作是否{ Component }
意味着它只导入Component对象?
有谁知道java.util.Date是如何序列化的?我的意思是向我解释每个字节到底是什么?我尝试写了一个很长的日期,我可以看到比赛,但还有其他人物,我只是没有得到.
我们的应用程序使用数据生成服务器请求,这意味着它从客户端到服 进行压力测试的团队使用捕获这些请求并修改它们的工具,问题是他们想要处理日期而我不知道如何解释字节流.我正在谈论的家伙似乎愿意学习,但到目前为止,我还没有找到任何我理解的指向他...
我使用的代码:
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try
{
fos = new FileOutputStream("t.tmp");
oos = new ObjectOutputStream(fos);
Date today = new Date();
oos.writeLong(today.getTime());
oos.writeObject("Today");
oos.writeObject(today);
oos.close();
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
编辑:
上面的输出是:
"¬í w ,áqÇ-t Todaysr java.util.DatehjKYt xpw ,áqÇ-x"
Run Code Online (Sandbox Code Playgroud)
长的是"w,áqÇ-"所以long和Date对象之间的东西是什么,即"hjKYt xp"
注意一些空白是不可打印的字符NULL,SOH,退格等.我理解这是重要的十六进制值.
编辑:
还有问题.由于某种原因,序列化的HTTP请求没有像我接受的答案那样序列化日期.非常接近,但仍然不同,我不知道为什么.甚至更奇怪的是,当我简单地序列化一个日期时,似乎工作得很好.在我们使用Websphere 6.1的工作中,以下是请求中发送内容的一些示例:
lr_start_transaction("20000101");
\\x0Ejava.util.Datehj\\x81\\x01KYt\\x19\\x03\\x00\\x00xpw\\x08\\x00\\x00\\x01,\\xE10\\x0BXxt\\x00\\x08
lr_start_transaction("20000102");
\\x0Ejava.util.Datehj\\x81\\x01KYt\\x19\\x03\\x00\\x00xpw\\x08\\x00\\x00\\x01,\\xE10>\\x9Dxt\\x00\\x08
lr_start_transaction("20000103");
\\x0Ejava.util.Datehj\\x81\\x01KYt\\x19\\x03\\x00\\x00xpw\\x08\\x00\\x00\\x01,\\xE10z\\xDBxt\\x00\\x08
Run Code Online (Sandbox Code Playgroud)
我已经能够识别大多数字段但不是实际时间!例如serialVersionUID是hj\\x81\\x01KYt\\x19
编辑(最终):
我找到了日期,但它没有在我预期的地方附近!我的样本很好,因为其他数据字段出现我认为日期已经完成 - 只是侥幸,我注意到我正在寻找的日期的十六进制模式!例:
lr_start_transaction("20000101");
\\x0Ejava.util.Datehj\\x81\\x01KYt\\x19\\x03\\x00\\x00xpw\\x08\\x00\\x00\\x01,\\xE10\\x0BXxt\\x00\\x08OTTST153t\\x00\\x06/Web2/t\\x00\\x044971t\\x00\\x0B12ce12f737d\\x00\\x00\\x01,\\xE10\\x0BXsq\\x00~\\x00\\x0Fw\\x08\\x00\\x00\\x00\\xDCk\\xE2T\\x80xt
Run Code Online (Sandbox Code Playgroud)
日期值正好在最后!
因此,以这种方式检查类的相同性是否有效:
if (object.getClass() == anotherObject.getClass()) {
}
Run Code Online (Sandbox Code Playgroud)
可能答案是肯定的,因为Class类没有覆盖equals()
所以看起来它Object.equals()
适用于Class的相等性.但是,如果在其他地方记录下来,我会感兴趣.谢谢.
该toString()
方法未被覆盖Set
或其层次结构,因此如何打印元素?
import java.lang.Math;
import java.util.HashSet;
class Hello{
public String name= "";
Hello(String name){
this.name = name;
}
public static void main(String args[]){
Hello h1 = new Hello("first");
Hello h2 = new Hello("second");
Hello h3 = new Hello("third");
Hello h4 = new Hello("fourth");
Hello h5 = new Hello("fourth");
HashSet hs = new HashSet();
hs.add(h1);
hs.add(h2);
hs.add(h3);
hs.add(h4);
hs.add(h5);
//hs.add(h5);
//hs.add(null);
System.out.println("elements in hashset"+hs);
//System.out.println("elements in hashset"+hs.contains());
//System.out.println("elements in hashset"+hs.contains(new Hello("who")));
}
public boolean equals(Object obj){
System.out.println("In Equals"); …
Run Code Online (Sandbox Code Playgroud) 我将它包含在我的速度文件中。但它不起作用,
< img src="cid:src/resources/imageContent.jpg" />
Run Code Online (Sandbox Code Playgroud) 我试图在Matlab中制作高斯滤波器而不使用imfilter()
和fspecial()
.我试过这个,但结果不像我和imfilter和fspecial那样.
这是我的代码.
function Gaussian_filtered = Gauss(image_x, sigma)
% for single axis
% http://en.wikipedia.org/wiki/Gaussian_filter
Gaussian_filtered = exp(-image_x^2/(2*sigma^2)) / (sigma*sqrt(2*pi));
end
Run Code Online (Sandbox Code Playgroud)
对于2D高斯,
function h = Gaussian2D(hsize, sigma)
n1 = hsize;
n2 = hsize;
for i = 1 : n2
for j = 1 : n1
% size is 10;
% -5<center<5 area is covered.
c = [j-(n1+1)/2 i-(n2+1)/2]';
% A product of both axes is 2D Gaussian filtering
h(i,j) = Gauss(c(1), sigma)*Gauss(c(2), sigma);
end
end
end
Run Code Online (Sandbox Code Playgroud)
最后一个是
function …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个应用程序,您可以在其中创建流程图(图表).然后我正在分析这个算法,我正在创建一个图表,Chart.js
其中x轴是输入的数量/输入的大小,y轴是程序采取的步数.我需要在以下方面绘制以下数学函数Chart.js
:
f(x) = x, f(x) = x^2, f(x) = x*log(x).
Run Code Online (Sandbox Code Playgroud)
那些是我需要绘制的算法的复杂性......我正在使用typescript
它.可能吗?
使用本地主机时如何启用浏览器通知,在控制台中编写内容时Notification.requestPermission();
什么都不会出现,但是在控制台中Notification.requestPermission();
的任何常规站点上都需要获得权限。
如何使它能够测试我的代码?提前非常感谢您...
Noob问题
我正在使用snmp函数通过oid列表收集数据.我已经提取了数据并使用json函数将数据解析为下面看到的json字符串.
msg.payload:string [81]
"[{"oid":"1.3.6.1.4.1.38783.3.3.1.1.1.0","type":2,"value":53800,"tstr":"Integer"}]"
我正在尝试编写一个函数来"value":53800
从这个字符串中删除并输出它msg.payload
.
我试过下面但它返回了
"类型错误:无法分配给只读属性
'_msgid'
的"value":53700,"tstr":"Integer"}]"
var msg = msg.payload;
var value = msg.substr(49,62);
return value;
Run Code Online (Sandbox Code Playgroud) 我请求的路径是:
localhost:8080/companies/12/accounts/35
Run Code Online (Sandbox Code Playgroud)
我的 Rest Controller 包含此功能,我想在 Filter 中获取 companyId 和 accountId。
@RequestMapping(value = "/companies/{companyId}/accounts/{accountId}", method = RequestMethod.PUT)
public Response editCompanyAccount(@PathVariable("companyId") long companyId, @PathVariable("accountId") long accountId,
@RequestBody @Validated CompanyAccountDto companyAccountDto,
HttpServletRequest req) throws ErrorException, InvalidKeySpecException, NoSuchAlgorithmException
Run Code Online (Sandbox Code Playgroud)
是否有任何功能可用于在过滤器内接收此信息?