加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 02:57:59 所属栏目:Linux 来源:网络整理
导读:当我进行大型编译(任何地方,但我的问题都假定为 Linux)时,许多消息通常会输出到屏幕上.我的问题是,这些消息会减慢这个过程吗?如果他们这样做,是否会切换到不同的tty,以便它们不会显示在屏幕上,从而降低性能? 解决方法 是的,他们当然可以. 从http://www.lin
当我进行大型编译(任何地方,但我的问题都假定为 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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读