是否有命令行工具(Linux)检查Java应用程序的堆大小(和已用内存)? 我试过jmap。 但它给信息。 关于像Eden / PermGen等内部记忆区域,这对我没有用处。 我正在寻找像这样的东西: 最大内存:1GB 最小内存:256 MB 堆内存:700 MB 使用的内存:460 MB 就这样。 我知道我可以看到这在JConsole等,但我需要一个命令行工具(不能启用JMX等) 任何这样的工具/命令?
我使用ssh -p8520 username@remote_host来login远程服务器。 问题 : 当我在工作场所时,它总是连接并正常工作。 不幸的是,在我从家里连接到远程服务器之后的10-15分钟内,terminal冻结了。 控制台上没有错误/超时报告,但光标不能再移动。 当inputw来检查login用户时,一些僵尸login用户在那里,我不得不手动杀死他们。 这很烦人。 谁能帮我?
当我尝试改变.vimrc的背景颜色或直接在vim中使用以下命令: set background=dark …它根本不影响我的背景。 light选项也没有。 但是,当我运行gvim时,它看起来没问题。 有没有办法改变vim中的背景而不改变我的Konsole设置? 编辑好的,guifg / guibg和ctermfg / ctermbg是有区别的。 虽然GUI接受许多不同的颜色组合,但cterm只允许less数几种标准的颜色组合。
我试图找出当文件数量非常大(> 100,000)时,find特定目录中文件数量的最佳方法。 当有那么多文件时,执行“ls | wc -l”需要相当长的时间才能执行。 我相信这是因为它返回所有文件的名称。 我试图尽可能less的磁盘IO。 我已经尝试了一些shell和Perl脚本无济于事。 有任何想法吗?
我们希望将我们的服务器上的操作系统从Ubuntu 10.04 LTS升级到Ubuntu 12.04 LTS。 不幸的是,运行已经可运行的线程的延迟似乎已经从2.6内核显着增加到了3.2内核。 实际上,我们正在得到的延迟数字是难以相信的。 让我更具体的testing。 我们有一个运行两个线程的程序。 第一个线程获取当前时间(以RDTSC为单位),然后每秒发送一个条件variables。 第二个线程在条件variables上等待并在发送信号时唤醒。 然后获取当前时间(以RDTSC为单位)。 计算第二个线程中的时间和第一个线程中的时间之间的差值并显示在控制台上。 之后,第二个线程再次等待条件variables。 大约一秒钟后,第一个线程会再次发出信号。 所以,简而言之,我们得到一个线程,通过条件variables等待时间测量线程进行一次线程通信 。 在内核2.6.32中,这个等待时间在2.8-3.5 us左右,这是合理的。 在内核3.2.0中,这个延迟已经增加到40-100 us的量级。 我排除了两台主机之间的硬件差异。 它们运行在相同的硬件上(运行于3.6 GHz的双插槽X5687 {Westmere-EP}处理器,具有超线程,speedstep和所有C状态closures)。 testing应用程序改变线程的亲和力,以便在同一个套接字的独立物理核心上运行它们(即,第一个线程在核心0上运行,第二个线程在核心1上运行),所以线程没有弹起核心或弹跳/sockets之间的通信。 两台主机之间的唯一区别是,一台运行Ubuntu 10.04 LTS,内核为2.6.32-28(快速上下文切换框),另一台运行最新的Ubuntu 12.04 LTS,内核为3.2.0-23(缓慢的环境开关盒)。 所有的BIOS设置和硬件都是相同的。 内核中是否有任何变化可以解释为什么这个线程被安排运行需要多长时间? 更新:如果你想在你的主机和linux版本上运行testing,我已经把代码发布到了pastebin中供你阅读。 编译: g++ -O3 -o test_latency test_latency.cpp -lpthread 运行(假设你至less有一个双核心盒): ./test_latency 0 1 # Thread 1 on Core 0 and Thread 2 on […]
我正试图在Windows和Linux上运行一个通用的Java程序。 程序需要在每个平台上做一些不同的事情。 那么我的Java程序怎么能/应该检测到它在Linux和Windows下运行呢?
在一台运行Apache和PHP 5的Linux服务器上,我们得到了多个带有单独日志文件和所有东西的虚拟主机。 我们似乎无法区分虚拟主机的唯一情况是php error_log 。 覆盖httpd.conf的<Location>中的这个设置似乎没有任何作用。 我忽略了什么? 有没有办法让每个虚拟主机有单独的php error_logs ?
我在Linux上使用bash编写脚本,需要浏览给定目录中的所有子目录名称。 我如何循环这些目录(并跳过常规文件)? 例如: 给定的目录是/tmp/ 它有以下子目录: /tmp/A, /tmp/B, /tmp/C 我想检索A,B,C
我想知道是否有一种方法来在Linux下的沙箱下运行不受信任的C程序。 一些会阻止程序打开文件,或networking连接,或分叉,执行等? 这将是一个小程序,一个家庭作业,被上传到服务器,并执行unit testing。 所以该计划将是短暂的。
我有一个在Linux上运行的shell脚本,并使用此调用以YYYY-MM-DD格式获取昨天的date: date -d "1 day ago" '+%Y-%m-%d' 它大部分时间工作,但是当脚本昨天早上在2013-03-11 0:35 CDT运行时,它返回"2013-03-09"而不是"2013-03-10" 。 大概是夏令时(从昨天开始)是怪罪。 我猜"1 day ago"的实施方式是24小时减24小时, 2013-03-11 0:35 CDT是2013-03-09 23:35 CST ,导致"2013-03-09" 。 那么,什么是一个好的DST安全的方式来获取在Linux上bash昨天的date?