草庐IT

send-trim-memory

全部标签

windows - 如何在 win32 进程中显示 'memory used' 的百分比?

我知道内存使用在Windows上是一个非常复杂的问题。我正在尝试为一个大型应用程序编写一个UI控件,该控件显示“已用内存百分比”数字,以便向用户表明可能是时候清理一些内存了,或者更有可能重新启动应用。一个实现使用MEMORYSTATUSEX的ullAvailVirtual作为基础,然后使用HeapWalk()遍历进程堆以寻找额外的空闲内存。HeapWalk()步骤是必需的,因为我们注意到在运行一段时间后,由堆分配和释放的内存从未返回并由ullAvailVirtual数字报告。经过数小时的密集工作,ullAvailVirtual数字不再准确报告可用内存量。然而,这种方法被证明并不理想,因

windows - 如何避免 "Your system is running low on virtual memory"弹出窗口?

我们的应用程序有时会使用大量内存,这是预料之中的。但是当我们在WindowsXP的高负载下测试它时,我们通常会看到非常烦人的“您的系统虚拟内存不足”弹出窗口,这会阻止我们的自动化、无人值守的测试运行...有没有可能不出现这个弹窗,直接让分配失败?该应用程序将优雅地处理它,并且测试将继续......我们使用的是WindowsXP,但如果解决方案只存在于更高版本中,我很乐意知道。 最佳答案 您可能会使用一种捕获该对话并将其取消的全局对话处理程序。QTP(HPQuickTestProfessional)具有GUI异常处理程序(或者它们叫什

windows - 奇怪的 send() 问题(使用 Wireshark 日志)

关于这个问题我还有一个问题,但是我没有问对,所以我又来了!我通过分块发送文件。现在,我正在研究该block大小的不同数字,看看哪种大小最有效。在本地主机上测试时,任何block大小似乎都可以正常工作。但是当我通过网络测试它时,最大块大小似乎是8191字节。如果我尝试任何更高的东西,转移就会变得非常、痛苦、缓慢。为了显示发生了什么,这里是前100行Wireshark日志,当我使用8191字节的block大小时,以及当我使用8192字节的block大小时:(发送方是192.168.0.102,接收方是192.168.0.100)8191:http://pastebin.com/E7jFFY

Windows 内存管理 : check if a page is in memory

在Windows中,有没有办法检查页面是在内存中还是在磁盘(交换空间)中?我想知道这一点的原因是,如果页面在磁盘中,则通过不访问该页面来避免导致页面错误。 最佳答案 据我所知,没有记录在案的方法可以在用户模式下完成此操作。也就是说,可以在内核模式下确定这一点,但这将涉及检查属于内存管理器的页表条目——这不是您在任何类型的生产代码中真正不想做的事情.您要解决的真正问题是什么? 关于Windows内存管理:checkifapageisinmemory,我们在StackOverflow上找到一

windows - 有winsock的send功能 block 吗?

是否可以让winsock的发送功能阻塞,直到另一端收到正在发送的数据包?我的最终目标是能够发送5-20mb的文件,同时仍然能够在同一连接上发送1kb的小数据包。所以我想我会阻止它直到接收方收到数据包。这样,如果另一个小数据包排队,它就不会卡在等待传输大文件的其余部分。 最佳答案 只需使用两个独立的TCP连接。他们甚至可以连接到相同的主机和端口,您端的端口号将不同。通过任何网络(即非环回)的停止和等待握手都会非常慢。 关于windows-有winsock的send功能block吗?,我们在

windows - Inno Setup - 在 "Send to"上下文菜单中创建快捷方式

如何使用InnoSetup在“发送到”文件夹中创建指向我的程序的链接,以便它显示在Windows资源管理器的“发送到”上下文菜单中?已经有一个directoryconstant对于“发送到”文件夹,但我如何在那里创建链接? 最佳答案 与任何其他快捷方式一样,使用[Icons]section中的条目:[Icons]Name:"{usersendto}\MyProg";Filename:"{app}\MyProg.exe"在InnoSetup5.6.1中,{sendto}常量已重命名为{usersendto}。

string - 在子字符串之后批量修剪文本文件中的行 - REM Trim with Expansion

我正在使用批处理文件(开放使用VBS和PS1文件)运行Windows10专业版,并且我有一个由软件自动导出的文本文件,如下所示:Sub_Group691_FE7IP11_2017-12-12.sldasm_bin/parts/Loft-Project.sldasm_bin/parts/Loft-Project...Sub_Group691_FE7IP12_2017-12-12.sldasm_bin/parts/Loft-Project.sldasm_bin/parts/Loft-Project...Sub_Group691_FE7IP13_2017-12-12.sldasm_bin/p

C++ socket的send()导致系统错误10053

我正在尝试从我的客户端向我的服务器发送一条消息(目前它们都在同一个进程中运行,但我认为这不重要)。连接建立良好(我可以通过“CurrPorts”看到它-比TcpView用户友好得多)。但是,当我发送消息时,出现错误:“已建立的连接已被主机中的软件中止。”(编号10053)然后连接中断...相关代码如下:boolClient::Send(void*msg,intsize){intsockId=m_socket.GetId();structsockaddr_inremote=m_socket.GetRemotePoint().GetBasePoint();constchar*buf=(co

c# - 填充 TreeView 时出现 "Out of Memory"

当我使用XML填充TreeView层次结构时,我遇到了“内存不足”问题。我们的XML结构非常复杂,而且格式不固定。有多个级别的子节点。我正在使用递归来迭代XML并填充TreeView结构。我试着调用GC.Collect。清除内存但它仍然抛出相同的错误。我正在使用.NETFramework3.5的C#进行开发。如果您能帮我找到解决方案,我将不胜感激。我在下面提供了用于填充TreeView的代码privatevoidaddTreeNode(XmlNodexmlNode,TreeNodetreeNode){stringattribute="";treeView1.ImageList=imag

Windows Bash - Emacs 构建失败 : Memory Protection Enabled

我正在尝试在WindowsBash(WinBash?Win-Bash?)中编译emacs-24.4,但是遇到了一个问题,即Windows似乎启用了内存保护,这会破坏emacs构建。我在“make”之后得到的错误(./configure工作正常)是:Dumpingunderthenameemacs**************************************************Warning:YoursystemhasagapbetweenBSSandtheheap(25164600bytes).Thisusuallymeansthatexec-shieldorsome