我在 Windows 7 上运行的一个应用程序可能会占用过多的 GUI 资源(或文件句柄或 TCP/IP 资源),有时它会停止响应 30 秒。我可以在任务管理器中看到大约 2GB 的 RAM 被“缓存”——这意味着它被用作磁盘缓存。有没有办法让计算机使用更少的 RAM 作为磁盘缓存,同时为任何其他 GUI 资源、文件句柄、TCP/IP 套接字和任何其他可能的资源分配更多内存,特别是如果计算机有更多 RAM,有时现在甚至有 16GB。我记得在某个时候,可以将计算机设置为更多地执行“桌面”任务而不是“服务器”任务。所以我认为这些是可以调整的数字。
答案1
你似乎误解了一些事情。
有没有办法让计算机使用更少的 RAM 作为磁盘缓存,同时为任何其他 GUI 资源、文件句柄、TCP/IP 套接字和任何其他可能的资源分配更多的内存,特别是如果计算机有更多 RAM,有时甚至是 16GB。
内存分配(以及更一般地说管理)由操作系统内核完成。这缓存内存的用途正如其名称所暗示的那样:作为缓存。更具体地说,内核决定某些数据(即使进程未请求)最好保存在那里,因为它们可能被频繁使用/请求,并且内核发现执行硬盘 I/O 效率不高。
话虽如此,它只是一个缓存。如果内核发现需要使用更多内存,它可能会将缓存内容写回到硬盘,并将释放的内存用于其他用途。
我记得在某个时候,可以将计算机更多地设置为“桌面”任务而不是“服务器”任务。
除了每台计算机正在运行的进程之外,没有太多实际区别。想要将计算机用作服务器的人会尝试停止运行不需要的进程,以便为他们想要运行的进程提供更多的 CPU 时间/内存。
话虽如此,没有人阻止您在“桌面”计算机中终止您不想运行的进程,以便为其他正在运行的进程提供更多的 CPU 时间/内存。
所以我认为这些是可以调整的数字。
我可能错了,但考虑到这是由操作系统内核完成的,我并不认为它是可调整的。