微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 可以改变tty提高编译速度吗?

当我进行大型编译(任何地方,但我的问题都假定为 Linux)时,许多消息通常会输出到屏幕上.我的问题是,这些消息会减慢这个过程吗?如果他们这样做,是否会切换到不同的tty,以便它们不会显示在屏幕上,从而降低性能

解决方法

是的,他们当然可以.

http://www.linuxakesson.net/programming/tty/index.php

在xterm中运行yes,你会看到很多“y”线从你眼前掠过.当然,yes进程能够比xterm应用程序能够解析它们更快地生成“y”行,更新其帧缓冲区,与X服务器通信以滚动窗口等等.这些计划如何合作?

答案在于阻止I / O.伪终端只能在其内核缓冲区内保留一定数量的数据,当该缓冲区已满且yes尝试调用write(2)时,write(2)将阻塞,将yes进程移至可中断的睡眠状态,其中它一直存在,直到xterm进程有机会读取一些缓冲的字节.

如果TTY连接到串行端口,则会发生同样的情况.是的,能够以比9600波特更高的速率传输数据,但如果串口限制在那个速度,内核缓冲区很快就会填满,任何后续的write(2)调用都会阻塞进程(或者失败)如果进程请求了非阻塞I / O,则使用错误代码EAGAIN.

原文地址:https://www.jb51.cc/linux/397153.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐