免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2587 | 回复: 6
打印 上一主题 下一主题

关于printk的输出,丢失消息的问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-04 11:39 |只看该作者 |倒序浏览
大家好,
       目前要对无线网卡每个收到的frame,使用printk打印相关的信息,从而记录的 /var/log/messages中。每个frame要打印的信息大约是100个字节,占一行。系统式powerpc的开发板,400Mhz。

       目前的问题是:使用iperf发送业务时,设置的frame的长度为300bytes,因此,在802.11b,11Mbps的tx rate下,平均每秒中要收到1700个frame,因此要printk 1700次/秒,导致printk把kernel buffer填满,而klogd/syslogd写文件的速度相对较慢,因此造成消息的丢失。
      
       请问有什么解决的办法吗?

       我目前的方法是把log记录到tmpfs文件系统中,因为该系统是基于RAM的虚拟文件系统,读写该系统仅仅是对RAM操作,不过这样还是出现丢失消息的情况,只不过症状减轻。另外已经把printk的log buffer增大到1MB了(默认是16KB)。

       netconsole如何?效率如何?
       另外就是 syslogd ,配置成 remote network log?效率如何?

       还有其他的方法吗?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
2 [报告]
发表于 2009-06-04 13:02 |只看该作者
直接申请一块内存,写到内存里,共享给用户空间。

论坛徽章:
0
3 [报告]
发表于 2009-06-05 09:19 |只看该作者
还可以用RELAY FS, 又叫DEBUG FS

论坛徽章:
0
4 [报告]
发表于 2009-06-05 09:35 |只看该作者
只能按2楼的办, 使用环形缓冲,  什么文件系统也没用。

论坛徽章:
0
5 [报告]
发表于 2009-06-05 22:31 |只看该作者
TO 4楼: RELAY FS 设计的目的就是大量的内核到用户层的通信. 原理应该也是开辟了一块共享内存. 不知道4楼用过没? 如果用过,或者了解过,那么否定它请说出具体理由来.

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
6 [报告]
发表于 2009-06-05 22:49 |只看该作者
原帖由 accessory 于 2009-6-5 09:19 发表
还可以用RELAY FS, 又叫DEBUG FS


改天研究一下relay文件。

论坛徽章:
0
7 [报告]
发表于 2009-06-06 00:14 |只看该作者

回复 #5 accessory 的帖子

你说的对,其实原理都是一样的,不用重复造轮子了,直接用即可。

4楼的,太武断了,tmpfs也是在RAM中的,understand?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP