CPU使用
来源:互联网 发布:富士通扫描仪软件收费 编辑:程序博客网 时间:2024/06/17 05:14
在服务器中控制CPU的使用,可以通过对线程或进程的调度实现。进程或线程的频繁启动应该尽量避免,应使用线程池和进程池替代。
1、最少的锁定时间:服务器不能因为为单个用户服务而是其他用户长时间的等待。所以根本的方式就是减少对临界资源的锁定时间。使用不同的锁对于不同的资源,避免使用全局的锁。
2、选择合适的锁:使用锁必然增加系统的资源占用,我在Windows平台下大多使用临界区,教系统级的Event和Mutex可以少占用些资源,临界区应该是在等待的使用才会使用系统级的Event和Mutex。读写锁也是不错的东西,对于不长修改的东西可以采用。
3、在一些情况下可以不用锁:对于一些没有必要必须正确的情况下可以不用锁,错就错了。Windows平台上提供的Iterlocked的函数,也是不错的东西,此时的操作是线程安全的,并且不用使用锁。在Intel平台下依靠LOCK和CMPXCHG的汇编实现,较使用锁有更高的性能,同时没有死锁的问题。
4、锁的使用必然有死锁的问题,关于这些问题可以去参考操作系统的教程,都有经典的讲解。在C++中可以依靠对象的构造和析构来保证加锁和解锁的成对操作。
5、线程的工作方式:流水线和并发的多个处理者。线程之间的衔接多采用消息队列的方式,所谓生产者和消费者。对于线程不宜起的太多,太多的线程会消耗系统资源。太少系统的并发性又有影响。可以通过Window提供的功能对线程的使用情况进行监视。
- CPU使用
- CPU使用
- 跟踪CpU使用情况
- CPU 使用达到100%
- CPU使用100%
- 减少cpu的使用
- 监视 CPU 的使用
- linux cpu使用情况
- google cpu profiler 使用
- CPU 突然使用过高
- CPU使用情况
- 使用树莓派CPU挖矿
- 使用cpu-z判断cpu系统位数
- cpu使用高的语句
- Silverlight查看CPU使用情况
- CPU 使用100%的解决方法
- Linux查看CPU使用情况
- 使用powernowd为CPU降降温!
- 四舍五入保留两位小数的四种方法
- 用户名错误则一直登录
- as3.0滑动拼接游戏
- 获取当前dll句柄,遍历输入表
- Objective-C中nil与release的区别与用法
- CPU使用
- struts1的工作原理
- 上午去把下两个月的房贷存上了
- 判断文件是否存在
- 内存使用
- <%# Eval("ArticleName") %>绑定后台数据的方法
- 开源Jabber(XMPP) IM服务器介绍
- swf上传控件在asp.net和MVC中的运用
- UI界面设计闪烁问题的解决办法