小编phs*_*phs的帖子

在hadoop中查看文件的块数

在Hadoop文件系统中,如何查看文件被破坏的块数?

hadoop hdfs

17
推荐指数
1
解决办法
2万
查看次数

打开文件太多错误,但lsof显示合法数量的打开文件

我的Java程序失败了

Caused by: java.io.IOException: Too many open files
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(File.java:883)...
Run Code Online (Sandbox Code Playgroud)

以下是关键线/etc/security/limits.conf.他们将用户的最大文件设置为500k:

root                     soft    nofile          500000
root                     hard    nofile          500000
*                        soft    nofile          500000
*                        hard    nofile          500000
Run Code Online (Sandbox Code Playgroud)

我跑去lsof计算打开的文件数 - 全局和jvm进程.我检查了柜台/proc/sys/fs.一切似乎都好.我的进程只打开4301个文件,限制为500k:

:~# lsof | wc -l
5526
:~# lsof -uusername | wc -l
4301
:~# cat /proc/sys/fs/file-max
744363
:~# cat /proc/sys/fs/file-max
744363
:~# cat /proc/sys/fs/file-nr
4736    0       744363
Run Code Online (Sandbox Code Playgroud)

这是一个Ubuntu 11.04服务器.我甚至重新启动所以我很肯定这些参数正在被使用.

我不知道它是否相关,但是这个过程是由一个upstart脚本启动的,它使用setuidgid启动进程,如下所示:

exec setuidgid username java $JAVA_OPTS -jar myprogram.jar
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

java linux

16
推荐指数
1
解决办法
2万
查看次数

查找文件并仅打印其父目录

我有以下命令.无论.user.log文件存在于何处,我们都需要打印父目录(即hhtwee1.)如何做到这一点?

$ cd /nfs//office/ && find . -name '.user.log'
./hht/info/.user.log
./wee1/info/.user.log
Run Code Online (Sandbox Code Playgroud)

linux shell command

16
推荐指数
2
解决办法
2万
查看次数

在排序列表中找到第一个"缺失"的数字

假设我有连续的整数范围[0, 1, 2, 4, 6],其中第一个3是"缺失"数字.我需要一个算法来找到第一个"洞".由于范围非常大(可能包含2^32条目),因此效率很重要.数字范围存储在磁盘上; 空间效率也是一个主要问题.

什么是最好的时间和空间效率算法?

algorithm search

16
推荐指数
3
解决办法
2万
查看次数

在混合C/C++程序中调整malloc和new的"正确"方法是什么?

我有一个混合的C/C++程序.它包含一个以C/C为目标的flex/bison解析器,其余为C++.

作为C,生成的解析器和扫描器用malloc,realloc和管理它们的内存free.它们足以暴露钩子,允许我提交我自己的这些函数的实现.正如你所料,(C++)程序的其余部分"要"来使用new,delete等等.

进行一些研究似乎表明,相关标准并不能保证这种混合应该起作用.特别是C"堆"不一定是C++"自由区".看来这两个方案可以相互踩踏.

最重要的是,有一天(很快),该程序可能希望集成一个自定义的堆实现,例如tcmalloc,由C和C++使用.

在这里做什么是"正确"的事情?

鉴于需要集成tcmalloc(它解释了如何与C程序链接),我很想在C++内存管理中找到一些跨类型,跨线程,跨所有重载/钩子/任何东西.有了这个,我可以将所有C++分配/释放调用回到它们的C等价物(反过来又落在tcmalloc上).

是否存在这样的泛星系全局C++钩子?可能它已经在做我想要的,类似于ios_base::sync_with_stdio默认情况下秘密地与iostream和stdio结合?

我对谈论stdio与iostreams以及切换解析器生成器以及使用C++ flex/bison骨架(它们引入独立的头痛)并不感兴趣.

编辑:请包括支持您的答案的C++标准的那些部分的名称.

c c++ malloc memory-management new-operator

16
推荐指数
1
解决办法
3393
查看次数

Visual Studio - 在源代码级别显示对函数的所有调用

我想知道是否有任何方法列出源代码中对函数的所有调用,以便我可以看到依赖项,如果我修改该函数.

我使用的一种方法是在"整个解决方案"中搜索函数名称,但我正在寻找更好的方法.

function-calls visual-studio

15
推荐指数
3
解决办法
1万
查看次数

clone()和fork比pthreads好吗?

我是这个领域的初学者.

我研究过fork(),vfork(),clone()和并行线程.

我注意到pthread_create()会创建一个线程,这比创建一个新进程的开销要少fork().此外,该线程将与父进程共享文件描述符,内存等.

但是,当是fork()clone()比并行线程更好?你能通过给出现实世界的例子向我解释一下吗?

提前致谢.

linux fork clone pthreads

13
推荐指数
3
解决办法
2万
查看次数

WhatsApp Ruby宝石

我只是想知道Whatsapp是否有类似于PHP中可用的ruby gem .

我在Google上搜索过,但找不到一个.

ruby ruby-on-rails whatsapp

12
推荐指数
0
解决办法
2579
查看次数

共享至少一位数的对数

你得到了n数字,你必须找到对的数量,使得它们之间至少有一个数字.

例如.对于5个数字:

2837 2818 654 35 931
Run Code Online (Sandbox Code Playgroud)

答案:6

这里的配对是 (2837,2818), (2837,35), (2837,931), (2818,931), (654,35), (35,931)

我的尝试:我采用的结构存储了十进制数字,数字形式的数字和数字中的数字.

现在,每一个号码,我散列这个数字在阵列conatining指数0-9,并与所有下面的数字选中的阉他们的任何一位的是已经存在.

我的尝试是O(n^2),这很慢.还有其他算法可以更快地运行吗?

algorithm

12
推荐指数
2
解决办法
1988
查看次数

我想优化这个短循环

我想优化这个简单的循环:

unsigned int i;
while(j-- != 0){ //j is an unsigned int with a start value of about N = 36.000.000
   float sub = 0;
   i=1;
   unsigned int c = j+s[1];
   while(c < N) {
       sub += d[i][j]*x[c];//d[][] and x[] are arrays of float
       i++;
       c = j+s[i];// s[] is an array of unsigned int with 6 entries.
   }
   x[j] -= sub;                        // only one memory-write per j
}
Run Code Online (Sandbox Code Playgroud)

使用4000 MHz AMD Bulldozer,该循环的执行时间约为1秒.我想过SIMD和OpenMP(我通常用它来获得更快的速度),但这个循环是递归的.

有什么建议?

c++ algorithm performance

12
推荐指数
2
解决办法
405
查看次数