InfraPub 为您找到相关结果 22

linux下查看系统socket读写缓冲区_eyucham的专栏

一:linux下查看系统socket读写大小配置: http://blog.csdn.net/herecles/article/details/8146017 1. tcp 收发默认值 [root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_rmem 4096 87380 4161536 87380 :tcp接收的默认值 [root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_wmem 4096 16384 4161536 16384 : tcp 发送的默认值 2. tcp 或udp收发最大值 [root@ www.linuxidc.com]# cat...阅读全文

博文 2021-01-26 16:21:35 CSDN博客

Linux内存buffer和cache的区别

,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。 在Free命令中显示的buffer和cache,它们都是占用内存: buffer : 作为buffer cache的内存,是块设备的读写,更靠近存储设备,或者直接就是disk的。 cache: 作为page cache的内存, 文件系统的cache,是memory的 如果 cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO 必会非常小。...阅读全文

Golang 中的 channel 通道详解

channel通道golang的并发模型是序列通信处理CSP(communicating sequential process)——使用通信来共享内存 ,避免goroutine因竞争共享内存频繁加锁产生的性能问题。基本数据结构golang中提供了一个特殊的类型channel实现goroutine之间的通信。channel类似于队列,先进先出。channel数据结构源码在src/runtime/chan.go下。chan 使用 hchan 表示,它的传参与赋值始终都是指针形式,每个 hchan 对象代表着一个 chan。hchan 中包含一个 buf,它表示已经发送但是还未被接收的数据缓存。buf 的大小由创建 chan 时的参数来决定。qcount 表示当前中有效数据的总量...阅读全文

Raspberry Pi 支持 Vulkan 最新进展

程序可以处理这些更复杂的工作负载之前,还有很多工作要做。甚至由于驱动程序错误或未实现的 Vulkan 功能,连 Sascha 的一些演示都无法运行。 为此,接下来几个月的工作将集中在支持基本的 Vulkan 1.0 功能集,至少涉及支持计算着色器、输入附件、纹理像素、存储镜像、pipeline 缓存和多重采样。在 Vulkan 1.0 中,还需要支持其它一些功能,例如健壮的访问等。 一旦完成了功能开发,则可能会将重心转移到 CTS 一致性上,这将全部用于 bug 修复,并处理特殊情况。最后也会有许多性能调整和优化工作。 Raspberry Pi 基金会还介绍,目前已经将驱动程序的开发转移到一个开放的存储库中,开发者可以在其中找到有关如何构建和安装驱动的说明。...阅读全文

博文 2020-06-13 18:15:31 debian.cn

兼容 tmux 的文件上传/下载工具 trzsz ( trz / tsz ) 使用指南 支持进度条和目录传输

xxx ( 加上 -q 选项 ),则在传输文件时不显示进度条。-y 覆盖模式trz -y 或 tsz -y xxx ( 加上 -y 选项 ),如果存在相同文件名的文件就直接覆盖。-b 二进制模式trz -b 或 tsz -b xxx ( 加上 -b 选项 ),二进制传输模式,对于压缩包、图片、影音等较快。-e 转义控制字符二进制模式时,控制字符可能会导致失败,trz -eb 或 tsz -eb xxx ( 加上 -e 选项 ) 转义所有已知的控制字符。-d 传输文件夹trz -d 或 tsz -d xxx ( 加上 -d 选项 ),则可以上传或下载指定文件夹和文件。-B 上限trz -B 20m 或 tsz -B 2M xxx 等,设置最大上限 ( 默认 10M )。会自动根据网速选...阅读全文

Linux 系统 vim 编辑器使用简明教程

下使用) /yusi123 //向光标下搜索yusi123字符串 ?yusi123 //向光标上搜索yusi123字符串 n //向下搜索前一个搜素动作 N //向上搜索前一个搜索动作 六、跳至指定行(vi命令模式下使用) n+ //向下跳n行 n- //向上跳n行 nG //跳到行号为n的行 G //跳至文件的底部 七、设置行号(vi命令模式下使用) :set nu //显示行号 :set nonu //取消显示行号 八、复制、粘贴(vi命令模式下使用) yy //将当前行复制到缓存区,也可以用 “ayy 复制,”a 为,a也可以替换为a到z的任意字母,可以完成多个复制任务。 nyy //将当前行向下n行复制到,也可以用 “anyy 复制,”a 为,a也可以替换为a到z的...阅读全文

博文 2015-07-25 16:33:04 debian.cn

Linux Systemd被爆远程漏洞 CVE-2017

在 Systemd (linux 操作系统流行的 init 系统和服务管理器) 中发现了一个关键漏洞, 这使得远程攻击者有可能触发溢出, 从而通过 dns 响应在目标计算机上执行恶意代码。 Systemd是什么 systemd 是一种系统初始化程序。和 sysVinit 以及 upstart 一样,systemd 会成为系统开机时启动的第一个进程(至少 PID 是 1),由它掌管计算机接下来要做的事情,例如读取 fstab 挂载磁盘和按照 runlevel 的设定启动各种服务。其安全的重要性不言而喻。 Systemd远程代码执行漏洞 CVE-2017-9445 该漏洞编号 CVE-2017-9445 ,实际上驻留在 " systemd-resolved " 的...阅读全文

博文 2017-07-02 09:39:36 9445 影响多种Linux系统

深入学习golang — channel

可以提供一个可选的整型参数,用于设置该channel的大小。该值缺省为0,用来构建默认的“无缓冲channel”,也称为“同步channel”。 Channel作为goroutine间的一种通信机制,与操作系统的其它通信机制类似,一般有两个目的:同步,或者传递消息。 2. 同步 c := make(chan int) // Allocate a channel. // Start the sort in a goroutine; when it completes, signal on the channel. go func() { list.Sort() c <- 1 // Send a signal; value does not matter...阅读全文

博文 2021-01-25 12:39:17 博客园

Debian 9.13 发布,Stretch的最后一个计划更新

Debian 9.13 已发布,这也是 Debian 9 的最后一个版本,因为安全和发布团队计划不再进行更新。官方鼓励用户升级到 Debian 10。 Debian 9.13 包含多个安全修复以及解决了部分“严重问题”。这些变更主要包括: 提供新版本的 ClamAV 以修复安全问题针对 CUPS 打印服务器的堆溢出修复针对 D-Bus 的 DOS 问题修复针对 File-Roller 的安全修复对英特尔 Skylake 微代码文件进行降级以解决部分 CPU 在启动时的挂起问题针对 libvncserver 的堆溢出修复针对安全问题对 NVIDIA 驱动进行更新其他针对一般错误和安全问题的修复 详情查看 https://www.debian.org/News/2020/20200718...阅读全文

博文 2020-07-19 19:54:48 debian.cn

Red Hat牵头推进NVFS文件系统

由 Red Hat 工程师牵头的团队,正在为 Linux/开源社区研究名为 NVFS 的文件系统。NVFS 的目标是成为像英特尔 Optane DCPMM 那样的高速文件系统。NVFS面向基于DAX的设备(直接访问),并将整个设备映射成一个线性地址空间,从而绕过 Linux 内核的块层(block layer)和缓存。 在 NVFS 文件系统之前,开源社区有个用于持久性内存的 NOVA 文件系统,但该项目在去年意外结束了。在没有另一个面向高性能持久性内存设备的 Linux 文件系统的情况下,Red Hat 的 Mikulas Patocka 一直在领导 NVFS 的工作。 尽管 NVFS 是面向基于 DAX 的设备,但它采用了与 EXT4 类似的设计方法,并与 Linux 的 VFS...阅读全文

博文 2020-09-16 09:44:28 debian.cn

文本编辑器 GNU nano 5.0 发布

GNU nano 5.0 已正式发布,代号 ”Among the fields of barley”。 GNU nano 是 Unix 和类 Unix 系统中,非常流行的一个文本编辑器,也是 Pico 的复制品,旨在成为一个类似 Pico 的全功能但又易于使用的编辑器。在多个主流 Linux 发行版中,nano 做为默认的编辑器出现。 下载地址:https://www.nano-editor.org/download.php 与 Nano 4.x 系列相比,5.0 在编辑体验方面进行了许多改进。其中值得关注的更新亮点包括: -indicator 选项可用于在屏幕右侧提供一个 “滚动条”,以指示视口(viewport)/文本在的大约位置执行命令提示符现在可以直接从主菜单中访问对于支持至...阅读全文

说透IO多路复用模型_京东云开发者的博客

); struct sockaddr_in client; socklen_t addr_len = sizeof(client); //接收客户端连接 int connfd = accept(listenfd,(struct sockaddr*)&client,&addr_len); //读 char buff[1024]; //读文件操作符 fd_set read_fds; while(1) { memset(buff,0,sizeof(buff)); //注意:每次调用select之前都要重新设置文件描述符connfd,因为文件描述符表会在内核中被修改 FD_ZERO(&read_fds); FD_SET(connfd,&read_fds); //注意:select会将用户态中的文件描述符表放到...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

Debian 10.8 发布:包括多项安全更新和错误修复

-perl 1.642-1+deb10u2的测试失败 | | [libdbi-perl](https://packages.debian.org/src:libdbi-perl) | 安全修复[CVE-2014-10402] | | [libmaxminddb](https://packages.debian.org/src:libmaxminddb) | 修复基于堆的超读 [CVE-2020-28241] | | [lttng-modules](https://packages.debian.org/src:lttng-modules) | 修正内核版本>=4.19.0-10的编译问题 | | [m2crypto](https://packages.debian.org...阅读全文

博文 2021-02-07 10:57:22 joseph

7大维度看国外企业为啥选择gRPC打造高性能微服务

动收集指标和跟踪信息可以快速回答常见问题,例如“我的服务对请求响应缓慢吗?”以及“请求失败的频率如何?”。 熔断 - 这种模式可以通过自动检测问题和快速失败来防止级联服务故障。也可以由长时间缓慢的请求来触发,以提供响应降级的服务而不是不断地超时。 缓存和批处理 - 通过使用缓存或批处理请求来加速请求。 大多数框架不会提供所有功能,但至少它们应该是可扩展的,以便在需要时添加。 什么是gRPC和协议? 没有一个框架是万能的。我们探索的一些选项包括Facebook的Thrift,Apache Hadoop的Avro,Twitter的Finagle,甚至使用JSON模式。 我们的需求更接近于远程程序调用(RPC),给予所需要的细粒度控制。使用RPC的另一个吸引力是使用接口描述语言或IDL...阅读全文

博文 2018-03-19 17:51:32 debian.cn

Tmux 快速教程:快捷键和配置

作逻辑 复制粘贴 安装的话也很简单,在 mac 下直接 brew install tmux(前提需要安装 homebrew),Debian 下则直接 sudo apt-get install tmux 在终端中输入 tmux 就可以打开一个新的 tmux session,tmux 的所有操作必须先使用一个前缀键(默认是 ctrl + b)进入命令模式,或者说进入控制台,就像 vim 中的 esc。 基本操作 信息查询 tmux list-keys 列出所有可以的快捷键和其运行的 tmux 命令 tmux list-commands 列出所有的 tmux 命令及其参数 tmux info 流出所有的 session, window, pane, 运行的进程号,等。 窗口控制 先来看看在...阅读全文

博文 2017-11-07 15:17:49 debian.cn

journalctl 清理journal日志 - 九重霄

, ALERT, EMERG 级别的日志消息后, 将会无条件的立即刷写日志文件。 因此该设置仅对 ERR, WARNING, NOTICE, INFO, DEBUG 级别的日志消息有意义。 ForwardToSyslog=, ForwardToKMsg=, ForwardToConsole=, ForwardToWall= ForwardToSyslog= 表示是否将接收到的日志消息转发给传统的 syslog 守护进程,默认值为"no"。 如果设为"yes",但是没有任何进程监听对应的套接字,那么这种转发是无意义的。 此选项可以被内核引导选项 "systemd.journald.forward_to_syslog" 覆盖。 ForwardToKMsg= 表示是否将接收到的日志消息转发给内核日志...阅读全文

博文 2021-02-05 15:43:28 博客园

Linux下多线程程序为什么消耗大量虚拟内存

; getchar(); getchar(); pthread_create( &th, 0, thread_run, 0 ); while ( (getchar() ) ) { start = 1; } return(0); } 其运行结果如下图,刚开始时,进程占用虚拟内存14M,输入0,创建子线程,进程内存达到23M,这增加的10M是线程堆栈的大小(查看和设置线程堆栈大小可用ulimit -s),第一次输入1,程序分配1k内存,整个进程增加64M虚拟内存,之后再输入2,3,各再次分配1k,内存均不再变化。 这个结果让我欣喜若狂,由于以前学习过谷歌的Tcmalloc,其中每个线程都有自己的来解决多线程内存分配的竞争,估计新版的glibc同样学习了这个技巧,于是查看pmap $(pidof main...阅读全文

博文 2015-01-28 10:35:39 debian.cn

理解 Linux 的虚拟内存

,使用 sysctl vm [-options] CONFIG 或 直接读写 /proc/sys/vm/ 目录下的文件来查看和修改配置。 SWAP 操作 虚拟内存的 SWAP 特性并不总是有益,放任进程不停地将数据在内存与磁盘之间大量交换会极大地占用 CPU,降低系统运行效率,所以有时候我们并不希望使用 swap。 我们可以修改 vm.swappiness=0 来设置内存尽量少使用 swap,或者干脆使用 swapoff 命令禁用掉 SWAP。 小结 虚拟内存的概念非常容易理解,但是它会衍生出来的一系列非常复杂的知识。本文只讲了些基本原理,略过了很多细节,比如虚拟内存寻址中段寄存器的使用,操作系统使用虚拟内存增强缓存、的应用等,有机会单独拿出来说。...阅读全文

博文 2018-11-25 11:03:49 debian.cn

HAProxy用法详解 最详细中文文档

查可能会带来意外问题;此选项用于将其检查的时间间隔长度上增加或减小一定的随机时长; – tune.bufsize :设定buffer的大小,同样的内存条件小,较小的值可以让haproxy有能力接受更多的并发连接,较大的值可以让某些应用程序使用较大的cookie信息;默认为16384,其可以在编译时修改,不过强烈建议使用默认值; – tune.chksize :设定检查的大小,单位为字节;更大的值有助于在较大的页面中完成基于字符串或模式的文本查找,但也会占用更多的系统资源;不建议修改; – tune.maxaccept :设定haproxy进程内核调度运行时一次性可以接受的连接的个数,较大的值可以带来较大的吞吐率,默认在单进程模式下为100...阅读全文

博文 2014-05-10 17:14:46 debian.cn

HTTP状态码详解

能够处理的范围。此种情况下,服务器可以关闭连接以免客户端继续发送此请求。 如果这个状况是临时的,服务器应当返回一个 Retry-After 的响应头,以告知客户端可以在多少时间以后重新尝试。 414 请求的URI 长度超过了服务器能够解释的长度,因此服务器拒绝对该请求提供服务。这比较少见,通常的情况包括: 本应使用POST方法的表单提交变成了GET方法,导致查询字符串(Query String)过长。 重定向URI “黑洞”,例如每次重定向把旧的 URI 作为新的 URI 的一部分,导致在若干次重定向后 URI 超长。 客户端正在尝试利用某些服务器中存在的安全漏洞攻击服务器。这类服务器使用固定长度的缓冲读取或操作请求的 URI,当 GET 后的参数超过某个数值后,可能会产生溢出,导致任...阅读全文

博文 2021-01-28 17:50:11 debian.cn

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

)。 CRI 与 pause 容器 到了这个阶段,大量的初始化工作都已经完成,容器已经准备好开始启动了,而容器是由容器运行时(例如 Docker 和 Rkt)启动的。 为了更容易扩展,Kubelet 从 1.5.0 开始通过容器运行时接口与容器运行时(Container Runtime)交互。简而言之,CRI 提供了 Kubelet 和特定的运行时之间的抽象接口,它们之间通过协议(它像一个更快的 JSON)和 gRPC API(一种非常适合执行 Kubernetes 操作的 API)。这是一个非常酷的想法,通过使用 Kubelet 和运行时之间定义的契约关系,容器如何编排的具体实现细节已经变得无关紧要。由于不需要修改 Kubernetes 的核心代码,开发者可以以最小的开销添加新的运行时。 不好...阅读全文

博文 2022-04-18 16:18:04 CSDN

Kafka 3.0新特性全面曝光,真香!

。异步发送,发送消息,同时指定一个回调函数,根据结果进行相应的处理。为了保险起见,一般我们都会使用异步发送带有回调的方式进行发送消息,再设置参数为发送消息失败不停地重试。acks=all,这个参数有可以配置0|1|all。0表示生产者写入消息不管服务器的响应,可能消息还在网络,服务器根本没有收到消息,当然会丢失消息。1表示至少有一个副本收到消息才认为成功,一个副本那肯定就是集群的Leader副本了,但是如果刚好Leader副本所在的节点挂了,Follower没有同步这条消息,消息仍然丢失了。配置all的话表示所有ISR都写入成功才算成功,那除非所有ISR里的副本全挂了,消息才会丢失。retries=N,设置一个非常大的值,可以让生产者发送消息失败后不停重试Kafka 自身消息丢失...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com