草庐IT

Linux内存分段

全部标签

java - 为什么 Glassfish 在 Linux 中似乎比在 Windows 中需要更多内存?

我最近一直在修补GlassFish2.1.1,既有UbuntuLinux机器,也有WindowsXP机器。查看Windows上代表asadmin、JavaDB服务器和GlassFish应用程序服务器域本身的“java”进程(使用任务管理器),它们加起来刚好超过100MB的内存。但是,查看Linux机器上的相同进程(使用“psaux”和Gnome系统监视器)显示内存使用量大约为800MB。这对我来说似乎非常奇怪。如果有的话,我会假设Windows上的内存使用不太有利。无论哪种方式,我都不会期望两者之间的Swing如此戏剧化。我在这里缺少一些基本的东西吗?我不一定需要详细的分析信息,我只需

windows - 是什么导致磁盘上的驱动程序和映射到内存的驱动程序之间存在差异?

嘿,今天我尝试对NDIS.sys进行二进制比较,我发现了一些奇怪的东西。我接受了一个函数,并开始比较它。前30个字节在磁盘(使用IDA)和内存(使用WinDbg)上是相同的。然后,事情发生了变化。我看到类似“jmp_imp_XXXXX”的内容。JMP字节相同,但地址不同。我的问题是-是什么造成了差异?我认为这与搬迁有关。虽然跳转是在同一个模块中寻址,但它是一个长跳转,它相对于模块基地址。如果发生重定位,它也需要重定位这个地址,尽管它在同一个模块上。我是对还是完全错了?:-)谢谢。 最佳答案 是的,当一个模块没有加载到它在内存中的首选

windows - 我如何从 windows box 监视 linux 服务器的资源?

我有几个linux服务器,想从我的windows台式电脑上监控它们的资源。如果应用程序是/有/可以(等...),那就太好了;易于使用。在桌面上看起来像小部件。关于高资源使用的警告。 最佳答案 桌面上的x11服务器加上+xosview将是一个开始,无论如何这属于serverfault;) 关于windows-我如何从windowsbox监视linux服务器的资源?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

C# 从 Windows 写入 ext2 linux 分区

我是C#的新手,我需要在Windows7的EXt2linux分区上写一个文件(grub)。做这种事情的好方法是什么?我需要用外部程序挂载分区吗? 最佳答案 我认为您需要使用外部程序安装它,例如:http://www.fs-driver.org/ 关于C#从Windows写入ext2linux分区,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4197159/

c# - 可从 Java 访问的 Linux 中的注册表级计数器

我正在寻找Linux系统中的计数器,类似于Windows中的自定义计数器,可以通过C#访问。(http://msdn.microsoft.com/en-us/library/aa326924%28v=vs.71%29.aspx)。我的用例是这样的:我有一个将文件从位置A导入到B的过程。该文件包含一些需要解析并加载到数据库中的XML记录。我希望有一个可以不断递增的计数器,例如,每当在B收到一个新文件,以及每当将一条记录导入数据库时​​。我想定期记录这些计数器值以检测任何不一致之处。当我使用Windows+C#时,我曾经使用自定义计数器(请参阅上面的链接)执行此操作,但我如何在Linux+

windows - 您如何以编程方式从 Windows 中检测双引导(尤其是 Linux)?

我父亲正在寻找自动检查Windows服务器设置的方法,以便为其提供标准合规性等级。他需要知道是否安装了多个操作系统,但又想不惜一切代价避免关闭服务器。Windows(XP和更新版本)中是否有任何技术可以通过编程方式确定一台机器是否安装了多个操作系统? 最佳答案 这取决于您认为“已安装的操作系统”是什么。至少您必须扫描所有分区(包括Windows有限的文件系统支持无法识别的分区)以查找文件系统,然后查看它们是否“看起来”像另一个操作系统。如果您需要知道备用操作系统是否也可启动,则还必须扫描引导加载程序及其配置。顺便问一下,如果计算机上

windows - 识别内存映射文件

我正在使用VirtualQuery识别部分进程的虚拟内存。我确定了映射文件(MEM_MAPPED)占用的区域,但是如何确定分配在那里的文件的实际文件(文件名)?我想它与MapView*API系列有关,但无法准确地弄清楚... 最佳答案 看起来GetMappedFileName()是您想要的函数。DWORDWINAPIGetMappedFileName(__inHANDLEhProcess,__inLPVOIDlpv,__outLPTSTRlpFilename,__inDWORDnSize);GetMappedFileNameonMS

windows - 内核内存地址空间

我读到过,在具有4GB系统内存的32位系统上,2GB分配给用户模式,2GB分配给内核模式。但是,如果我有一个具有512MB内存的系统,它会被划分为256MB给用户地址空间和256MB给内核地址空间吗? 最佳答案 您混淆了物理内存和虚拟内存。2GB分配给用户/系统,但它是虚拟内存。更正确的说法是它们不是分配的,而是构成了一个寻址空间。最初这个空间根本没有绑定(bind)到物理内存。当应用程序实际需要内存时(第一次是在启动时)分配物理内存并将地址空间中的一些地址映射到它。当内存被分配但使用时间不够长或PC的物理内存用完时,数据可以转储到

windows - Perl(windows和linux的区别)

我在Ubuntu中使用以下Perl代码没有任何问题,但是当我在XP中使用activeperl尝试它时它挂起,没有错误消息,只是一个空白屏幕。在标准perl和事件perl或windows和ubuntu之间移动代码时,有什么我应该注意的问题吗?*subdo_search{my$term=shift@_;my$page=1;my@results;while(scalar@resultssearch({query=>$term,page=>$page,rpp=>$opts{rpp}});print"Searchingfor$term(page$page)\n"if$opts{verbose};

windows - 从 UNIX/LINUX 机器在 Windows 机器上执行命令

是否可以使用UNIX或Linux机器在Windows远程机器上执行命令(例如:启动位于远程机器上的.bat文件)?是否有类似scp/ssh机制的东西,或者至少有一种方法可以通过网络连接到Windows机器?感谢您的帮助。 最佳答案 默认情况下,最新的Windows版本仅支持RemoteDesktopprotocol.据我所知,客户端版本只允许一个用户,而服务器版本安装了TerminalServices允许多个同时用户。WindowsServer版本也支持Telnet协议(protocol),但默认情况下服务器是禁用的-它甚至可能没有