小编sec*_*ana的帖子

ArangoDB 打开文件太多

几天以来,我们的 ArangoDB 安装遇到了问题。启动后几分钟/最多一个小时,所有与数据库的连接都会被拒绝。arango 日志文件显示“打开的文件太多”。“lsof | grep arango | wc -l”显示数据库有大约 50,000 个打开的文件句柄,这比最大值低很多。Linux系统允许(大约3m)。有谁知道这个错误来自哪里?

我们使用的是带有 3.13 内核的 Ubuntu Linux。30 GB RAM 和三个核心。该数据库仍然很小,大约有 150 万个条目,大小为 50GB。

谢谢,塞卡纳

编辑:“netstat -anpt | fgrep 2480”显示:

root@syssec-graphdb-001-test:~# netstat -anpt | fgrep 2480
tcp        0      0 10.215.17.193:2480      0.0.0.0:*               LISTEN               7741/arangod
tcp        0      0 10.215.17.193:2480      10.215.50.30:53453      ESTABLISHED          7741/arangod
tcp        0      0 10.215.17.193:2480      10.215.50.31:49299      ESTABLISHED          7741/arangod
tcp        0      0 10.215.17.193:2480      10.215.50.30:53155      ESTABLISHED          7741/arangod
Run Code Online (Sandbox Code Playgroud)

“ulimit -n”的结果为 1024,所以我认为 ~50,000 都是 arango 进程在一起。

数据库死亡前日志文件中的最后几行:

2015-05-26T12:20:43Z [9672] ERROR cannot open datafile '/data/arangodb/databases/database-235999516/collection-28464454696/datafile-18806474509149.db': 'Too many …
Run Code Online (Sandbox Code Playgroud)

arangodb

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

X509Certificate2 在 Linux 上无法解析,但在 Windows 上可以运行

从字节数组创建 X509Certificate2 实例在 Windows 上可以工作,但在 Linux 上会失败并出现“CryptographicException”。

static void Main(string[] args)
{
    var cert = new X509Certificate2(Cert.CertBytes);
}
Run Code Online (Sandbox Code Playgroud)

在 Windows 上:创建有效的 X509Certificate2 实例 在 Linux 上:引发异常:

{System.Security.Cryptography.CryptographicException: Cannot find the original signer. at Internal.Cryptography.Pal.PkcsFormatReader.TryReadPkcs7(SafePkcs7Handle pkcs7, Boolean single, ICertificatePal& certPal, List`1& certPals) at Internal.Cryptography.Pal.PkcsFormatReader.TryReadPkcs7Der(Byte[] rawData, Boolean single, ICertificatePal& certPal, List`1& certPals) at Internal.Cryptography.Pal.CertificatePal.FromBlob(Byte[] rawData, SafePasswordHandle password, X509KeyStorageFlags keyStorageFlags) at System.Security.Cryptography.X509Certificates.X509Certificate..ctor(Byte[] data) at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(Byte[] rawData) at CertTest.Program.Main(String[] args) in /home/CertTest/Program.cs:line 14}

难道我做错了什么?我认为证书就是证书,无论解析它的操作系统是什么。

您可以在此处找到可以在 Windows 上解析但不能在 Linux 上解析的有效 X509 证书:https://gist.github.com/secana/9c13f8fa495681f8a30adb5d8754450e

我尝试了多个证书,但没有一个在 Linux …

c# linux x509certificate2 .net-core .net-standard

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

TFS 2015与x64单元测试

我使用带有CI的TFS 2015,在成功构建x64之后,单元测试也应该在x64中运行.但相反,它们在x86中运行,导致大多数测试失败.测试配置

要构建x64,只需将$(BuildPlatform)变量设置为x64,但对于测试,这没有任何影响.

我得到测试的输出像这样:

2016-05-03T06:42:38.7749398Z Microsoft (R) Test Execution Command Line Tool Version 14.0.25123.0 2016-05-03T06:42:38.7749398Z Copyright (c) Microsoft Corporation. All rights reserved. 2016-05-03T06:42:38.9155623Z Starting test execution, please wait... 2016-05-03T06:42:39.4155556Z Test run will use DLL(s) built for framework Framework45 and platform X86. Following DLL(s) will not be part of run: ...

我需要做什么才能让TFS用x64进行测试?

谢谢你的帮助!

64-bit tfs continuous-integration unit-testing visual-studio-2015

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