草庐IT

占用量

全部标签

c# - 如何限制 C# 程序占用的 CPU 使用率?

我正在开发一个C#程序,我有一个函数消耗太多CPU。我想知道一种通过代码(不使用任何外部应用程序)控制它并限制CPU使用率的方法。例如,如果它使用了90%的CPU使用率,即使它变得更慢,也要使我的应用仅消耗20%。它必须在应用程序内自动完成。如果您提供类(class),那就太棒了。 最佳答案 我不知道你是否可以这样做,但你可以通过Priority更改执行线程的线程优先级属性(property)。您可以通过以下方式设置:Thread.CurrentThread.Priority=ThreadPriority.Lowest;另外,我不认

c# - 为什么 Thread.Sleep() 占用大量 CPU?

我有一个带有伪代码的ASP.NET页面:while(read){Response.OutputStream.Write(buffer,0,buffer.Length);Response.Flush();}任何请求此页面的客户端都将开始下载二进制文件。此时一切正常,但客户端没有下载速度限制,因此将上面的代码更改为:while(read){Response.OutputStream.Write(buffer,0,buffer.Length);Response.Flush();Thread.Sleep(500);}速度问题现在已经解决了,但是在100个并发客户端接连连接(每个新连接之间延迟3

c# - 开发和调试内存占用 C# 应用程序

我有一个C#应用程序,它必须与32位库链接并且还需要使用尽可能多的内存(成像应用程序);我们在XP64桌面上运行该应用程序,因此我们使用WOW64,目标是在VisualStudioforx86中构建(并执行editbin/largeaddressaware构建后)。我们遇到了一些问题:在VisualStudio内置调试​​器中,我们只能使用2gb内存(应用约1.5gb,加上开销)从命令行运行,应用程序可以看到3gb内存,但Microsoft文档似乎说我们应该看到4gb。谁能告诉我如何让WOW64C#应用程序看到平台应该能够提供的完整4gb?此外,谁能告诉我如何让VisualStudio

c# - 如何在不占用大量内存的情况下显示图像

我正在开发一个silverlight项目,用户可以在其中创建自己的拼贴画。问题当使用BitmapImage类加载一堆图像时,Silverlight会占用大量不合理的RAM。150张图片,其中单张图片最多占4.5mb,占用大约1.6GB的RAM——因此最终会抛出内存异常。我通过流加载它们,因为用户选择他们自己的照片。我在找什么一个类、方法或一些过程来消除被吸走的大量RAM。速度是个问题,所以我不想在图像格式或类似格式之间进行转换。快速调整大小的解决方案可能会奏效。我曾尝试使用WriteableBitmap将图像渲染到其中,但我发现这种方法迫使我在拖放和其他我希望用户能够对图像执行的操作时

c# - 使用关键字占用更少的空间?

如果我使用以下内容,它会占用更少的资源并且清理速度会更快,这是真的吗?using(TextReaderreadLogs=File.OpenText("C:\\FlashAuto\\Temp\\log.txt")){//mystuff}相比于:TextReaderreadLogs=newStreamReader("C:\\FlashAuto\\Temp\\log.txt");//mystuffreadLogs.Close();readLogs.Dispose(); 最佳答案 这些示例之间的区别不是性能,而是异常安全性。using在后台

c# - 如何防止垂直滚动条在控件中占用空间,导致水平滚动条?

我有一个自定义控件,其中嵌入了一个FlowLayoutPanel,我向其中添加了元素(其他自定义控件)。在FlowLayoutPanel的布局事件中,我将FlowLayoutPanel中的所有控件的大小调整为包含FlowLayoutPanel的大小。在需要垂直滚动条(AutoScroll=True)之前一切正常,占用FLpanel内的空间,导致出现水平滚动条。您看到的乱码是我在元素的构造函数中生成的一些随机占位符文本。我想阻止这种情况:我尝试向用户控件添加垂直滚动控件并在Scroll事件中执行FlowLayoutPanel.VertScroll.Value=sender.value:它

c# - 使用小数据类型(例如 short 而不是 int)是否会减少内存使用量?

我的问题基本上是关于C#编译器如何处理小型数据类型的内存分配。我确实知道,例如像add这样的运算符是在int上定义的,而不是在short上定义的,因此计算将被执行,就好像shorts是int成员一样。假设如下:没有与选择short作为数据类型相关的业务逻辑/验证逻辑我们不会对不安全的代码做任何事情是否尽可能使用short数据类型来减少我的应用程序的内存占用,是否建议这样做?或者使用short等不值得付出努力,因为编译器会分配int32的全部内存量,并在进行算术运算时添加额外的强制转换。任何有关假定的运行时性能影响的链接都将不胜感激。相关问题:WhyshouldIuseintinstea

c# - 如何强行释放MemoryStream占用的内存?

我有以下代码:constintbufferSize=1024*1024;varbuffer=newbyte[bufferSize];for(inti=0;i我在32位机器上运行。第一次迭代完成得很好,然后在下一次迭代中,我在newMemoryStream.尽管有using语句,为什么之前的MemoryStream内存没有被回收?如何强制释放MemoryStream使用的内存? 最佳答案 我不认为问题是垃圾收集器没有完成它的工作。如果GC面临内存压力,它应该运行并回收您刚刚分配的400MB。这更有可能是因为GC没有找到连续的400MB

c# - RabbitMQ:erl.exe 占用高 CPU 使用率

我在我的应用程序中实现了rabbitmq,它在WindowsServer2008服务器上运行,问题是erl.exe占用了很高的CPU使用率,有时它达到40-45%的CPU使用率,即使在理想情况下(不处理时)任何队列)它至少需要4-15%的CPU使用率。CPU使用率高的原因可能是什么?是否有任何设置或任何其他我需要做的事情。 最佳答案 你说即使不处理队列,它仍然在4-15%,但是你的应用程序在运行吗?如果您以前没有,请在没有应用程序使用Rabbit时尝试监视erl。想到的一件事是,您可能在循环中使用QueingBasicConsume

c# - C# 中内存占用最少的最快的序列化器和反序列化器?

我目前正在使用二进制格式化程序(Remoting)序列化和反序列化对象以便在我的LAN中发送。我最近从2.0升级到.NET3.5。3.5是否引入了任何新类型来提高序列化性能?我查看了DataContractSerializer,但它会将任何内容序列化为底层XML权利……这肯定会增加内存占用量。通过LAN发送对象最快的序列化程序是什么?我不关心互操作或版本控制......我需要速度!我对第三方开源替代方案持开放态度。 最佳答案 听起来像ProtocolBuffers可能正是您要找的。我知道三种.NET实现:protobuf-net,p