当前位置:  技术问答>linux和unix

linux下sleep太频繁会不会有问题

    来源: 互联网  发布时间:2017-04-26

    本文导语:  我现在开发一款视频播发服务程序,按照视频码率进行播发视频。通过每20ms计算发包的数量来控制播发视频的码率,中间用的是nanosleep来做。操作系统是RHEL 6.1(32位系统),由于我播发了几十个视频,每个视频的播...

我现在开发一款视频播发服务程序,按照视频码率进行播发视频。通过每20ms计算发包的数量来控制播发视频的码率,中间用的是nanosleep来做。操作系统是RHEL 6.1(32位系统),由于我播发了几十个视频,每个视频的播发都要用到nanosleep来控制码率,当连续播发几个小时候,我的播发程序cpu占用率突然变得不稳定,正常时是20%左右,但是一出现问题,就会从4%到30%之间频繁波动,波动幅度很大。用sar -n DEV 1查看网卡的发包情况,正常情况下会在15MB/s,当时一旦出现问题时,就会出现最小0MB/s,最大80MB/s的情况,而且每次都持续5分钟左右。已经做过以下测试:
1. 更换OS为RHEL 6.2, 问题依旧
2. 全部换成内存播发同一个问题,去除I/O因素, 问题依旧。
3. 减少几个视频,问题出现的间隔从几个小时变为几天,但是还是会出现
4. 更换一个好的CPU,连续测试了几天,没有问题

难道真的和CPU有关系?我觉得可能和sleep太频繁有一定的关系,但是没有理论根据。请问有人遇到过这样的问题吗?或者从这样的现象可以判断出问题可能出在哪里。我总觉得和程序没有太大关系,换了两台机器,只是CPU好了一点,都没有问题。


|
与sleep太频繁有关系
写个死循环while(1){sleep(1)}cpu负载为1
一般cpu(单核)负载为3.5以上会不稳定。
cpu(24核)启动了1000个类似的程序,结果起来了400个,桌面鼠标全部卡了(不是不响应,是cpu忙不过来)

所以sleep()很费资源,慎重使用,查看你的负载是否过高。

|
不太清楚,要不用select模拟sleep试试?

|
啊!会有这样的问题?幸亏我的2.6.18没有出过。。。。以后要注意下了,谢谢楼主

    
 
 

您可能感兴趣的文章:

  • 在linux上安装wine,会不会使linux系统感染windows病毒?
  • linux命令如何实现重启父进程而不会使其子进程退出
  • Linux和Unix编程会不会差别很大啊??
  • Linux里的pthread_create会不会阻塞啊?
  • 装linux时,swap分区过大,会不会影响机器性能
  • 装了一个LINUX 不会用
  • 100分征集:小弟用VMware Workstation装上了linux不会上网请问如何解决?
  • linux装软件怎么不会问我要装到哪个目录
  • Linux启动后logo一直显示不会消失问题
  • linux three-dimensional ,不会玩,也许我太笨,
  • 如何删除LINUX,会不会影响其他分区?
  • 请问在Linux中,当我输入crontab,不加任何参数,回车,会不会将cron文件中的内容清除?
  • 安装linux时,已经有windows,我有2个主分区了,如果装linux不分boot分区会不会有什么问题?
  • Linus会不会突然修改Linux的发行协议?
  • 在Linux下如何等待线程终止,又不会阻塞
  • 程序从windows转化到linux下,需要做哪些工作?会不会很麻烦?
  • 我的红旗LINUX怎么没有 MAKE 命令?不会吧???
  • 我需要建立linux的引导盘,但不会用mkbootdisk,请指教,在线等待,立即给分!
  • Linux有没有在文本界面下可用的中文输入法?(不会用五笔哟)(100分求助!)
  • 天啊!!!我安装了Linux,居然不会登陆啊!!!!!!!!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • linux 繁体 汉字输入法 问题 linux 繁体 汉字输入法 问题
  • Linux 下c++开发error while loading shared libraries问题解决
  • 先安装linux,后安装winxp,能否解决正常启动linux的问题不?(初学者问题,很容易回答)
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • Linux新手问,Linux安装问题。
  • linux下游戏问题。(菜鸟问题)
  • 初学Linux,发现Linux下的版本问题很头痛。【系列问题】
  • 程序从windows转化到linux下,需要做哪些工作?会不会很麻烦? iis7站长之家
  • 一个很菜的问题,关ARM与linux内核裁剪的问题!
  • vmware装的linux,通过win2000访问linux的web服务器有问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux的sleep函数有什么用
  • Linux sleep() 进程与线程
  • linux下的SLEEP N(SECONDS)是什么用的?
  • windows下死循环需要加sleep,否则CPU爆满, linux下呢?
  • LINUX下访问oracle时sleeping的线程过多,达到300多个,造成系统拥堵!
  • Linux下是否有类似Sleep的使程序挂起的函数。
  • Linux 中的 sleep() 函数如何精确到 1 毫秒?
  • Linux Ubuntu 如何实现sleep()小于1秒
  • linux一个sleep的奇怪问题,高手来给解答下了
  • 【linux文件操作的怪问题】写完文件关闭后立即打开,读出来的是乱码。sleep(1)读出来后正常
  • 请教Linux下的sleep()函数。。。
  • Linux 0.12内核中关于__sleep_on()函数的一点疑问,谢谢各位大哥帮忙解答啦。
  • 求 思路 信号量控制函数中的线程sleep 100微秒。(linux)
  • QT:有关sleep的问题,为何在windows下编译运行没问题,而在linux下连编译都不过那?
  • 请教一下关于linux下sleep的问题
  • 请教下linux中关于sleep()函数的问题
  • linux下调用sleep或者usleep函数的CPU线程调度情况?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,