InfraPub 为您找到相关结果 853

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博客

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 表示当前中有效数据的总量...阅读全文

深入学习golang — channel

. }() doSomethingForAWhile() <-c // Wait for sort to finish; discard sent value. 上面的示例中,在子goroutine中进行排序操作,主goroutine可以做一些别的事情,然后等待子goroutine完成排序。 接收方会一直阻塞直到有数据到来。如果channel是无的,方会一直阻塞直到接收方将数据取出。如果channel带有方会一直阻塞直到数据被拷贝到;如果已满,则方只能在接收方取走数据后才能从阻塞状态恢复。 3. 消息传递 我们来模拟一下经典的生产者-消费者模型。 func Producer (queue chan<- int){ for i:= 0; i < 10; i++ { queue <- i } } func...阅读全文

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

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

事件的时候,会触通知。 针对写操作,也就是当前fd处于EPOLLOUT模式下,即可写。此时意味着可以写了,以下buffer都指: buffer满了,这时候出去一些数据,数据变少,此过程会触通知。 buffer原本有些数据,这时候又出去一些数据,数据变少,此过程会触通知。 这里就是ET这种模式触的几种情形,可以看出,基本上都是围绕着接收或者的状态变化来进行的。 晦涩难懂?不存在的,举个栗子: 在服务端,我们开启边缘触模式,然后将buffer size设为10个字节,来看看具体的表现形式。 服务端开启,客户端连接,单字符A到服务端,输出结果如下: -->ET Mode: it was triggered once get 1 bytes of...阅读全文

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

Linux内存buffer和cache的区别

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

Raspberry Pi 支持 Vulkan 最新进展

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

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

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系统

兼容 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 )。会自动根据网速选...阅读全文

HTTP状态码详解

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

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

DNS SRV:使用DNS服务器做服务发现

,Client会按照这些SRV的权重分配请求。下一次向服务起的请求可能到了不同的地址。在通过SRV记录的权重来分配请求的时候,使用的是本地存的DNS记录,所以不能实时地感知到服务的地址列表变化。除非将 TTL 设置的非常短暂,但这样将会频繁地查询DNS服务器。 Client查询服务地址的过程 rfc-2782中已经做了很好地介绍,这里就不表述了。 配置举例 下面是DNS中 master file,可以看到有 example.com 域名提供了一个名为_foobar._tcp 的服务,这个服务有两个 SRV 记录,分别指向了 sys-box.example.com:1099 和 server.example.com:1099 $ORIGIN example.com. @ SOA...阅读全文

博文 2019-03-05 09:35:34 debian.cn

Linux系统诊断-内存基础

-cachedfree: 未使用的内存 memFree & swapFree in /proc/meminfoshared: tmpfs使用的内存 shmem in /proc/meminfobuffers:被内核去使用的内存cached: 被页存和slabs使用的内存buffers/cache: 表示buffers和cache的总和swap: 交换分的使用量2.3 buffer和cache会使用内存吗?答案是肯定的,先来了解下buffer和cache。cache(存)官方定义是用来弥补高速设备和低速设备之间的访问速度不匹配而预留的一段空间,用来加快资源的访问。 简单讲就是读的更快。buffer()是为了做资源写入整形,计算机遇到大量的“小规模IO”时,会将其整形为少量的“大规模IO”,降低写入次...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

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

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

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

活。 gRPC的性能对于设置管道来处理仪表板布的大量增加至关重要。此外,HTTP / 2是下一个标准化的网络协议,可以利用为HTTP / 2开的工具和技术(如Envoy代理),并为gRPC提供一流的支持。由于多路复用流支持,gRPC支持双向通信,不限于简单的请求/响应呼叫。 什么是Protobufs(协议)? Protocol Buffers或protobufs是定义和序列化结构化数据为高效的二进制格式的一种方式,也是由Google开的。二者的有效结合,也是我们选择gRPC的主要原因之一。 以前有许多与想修复的版本相关的问题。微服务意味着必须不断更新,需要适应并保持向前和向后兼容的接口,protobufs对此非常有用。由于是二进制格式,所以它们也是通过wire快速的小型有效载...阅读全文

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

Golang channel 通道常见使用场景

Go 的 channel 在实际项目中是怎么使用呢? channel 会有有和无两种类型,无的可以简单使用让两个 goroutine 数据同步通信。另外一种场景是对某个 object,使用 channel 作为其属性之一,那么待channel阻塞时则表明条件未满足,则需要等待其他数据结果返回。 本文列举几类常见的 channel 使用场景。 读写 package main import ( "fmt" "time" ) func WriteData(intChan chan int) { for i:=1;i<=50;i++{ intChan<-i fmt.Println("写:",i) time.Sleep(time.Millisecond*100) } close...阅读全文

博文 2021-01-24 21:22:22 debian.cn

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

文本编辑器 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)/文本在的大约位置执行命令提示符现在可以直接从主菜单中访问对于支持至...阅读全文

Git 介绍与使用详解

分支 4.2远程分支 git remote add 分支名 仓库地址 // 添加一个新的远程 Git 仓库 git fetch 远程分支 //从远程仓库中获得数据 git push origin master //将master推到远程仓库 git remote rename test1 test2 //将 test1 重命名为 test2 git remote rm test//移除远程分支test 注意: 1、多人协同开需要先执行 git pull拉取远程的改动,然后再push,如果拉下来代码有突,则需要先修改突再提交 2、本地至少两个分支,master和develop,master负责线上版本,develop负责开版本,如果有支线业务,则新建分支,保证不影响主业务。每次版后...阅读全文

博文 2017-02-25 09:00:27 程序员

处理器CPU散装和盒装有什么区别

很多人在装机过程现,在某电商平台输入处理器信息后,会出现盒装版和标明散片装两种商品,二者在售价上也天差地别,因为担心假货,很多人愿意花费更多的售价购买正品盒装版,今天为大家讲解一下盒装版处理器和散片之间的别。 CPU有叫做中央处理器,是一块超大规模的集成电路,它的主要功能是解释计算机指令以及处理计算机软件中的数据。通常包括运算器、高速存储器以及实现他们之间联系的数据、控制、状态的总线。目前市面上主流CPU生产商包括Intel和AMD,其中散片主要集中在Intel生产的处理器当中,ADM生产的市面上几乎没有散片包装。 CPU散片一般而言即只有一块CPU包装,没有任何正规包装盒,与正规CPU最大别在没有CPU原装散热器,无法享受官方正品带来的任何售后以及三包服务。通常CPU散片主要是...阅读全文

博文 2018-09-02 19:32:35 debian.cn

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

Redis 6 将采用全新协议RESP3 提供客户端缓存功能

存功能,保证存储在客户端内存的数据,在收到来自服务器的失效通知时才失效。 另外,当客户端和服务器的连接中断时,客户端无法接收到数据失效通知,这可能会导致服务出现问题。针对这种情况,一般的做法是重新建立客户端和服务器之间的连接,并更新客户端当前的存。antirez 表示可以一直保持连接是最好的情况,但为了降低风险,Redis 服务器在与客户端断开连接时,会将失效通知给其他客户端。 这项名为”Client side caching” 的功能尚未正式确定名字,最后可能会被成为”Tracking”。Redis 作者还表示在 Redis 6 候选版布之前,这些功能都会进行调整,希望社能积极反馈意见。 由于 Client side caching 功能需要使用 RESP3 协议来支持实现...阅读全文

Facebook 正式发布 JavaScript 包管理器 Yarn 1.0

Workspaces) 越来越多的科技公司开始采用单体仓库模式(mono-repository — 方便跨项目共享代码,同时避免依赖同步问题)来进行代码控制,这种模式也正逐渐被开源社和一些小型公司所采纳。 因此,Yarn 增加了一个新特性 ——工作。工作可以自动从多个 package.json 中收集所有的依赖项,并一次性将它们安装完毕。项目根目录下会生成一个独立的 yarn.lock 来锁定这些文件。此外,如果多个工作之间存在依赖,Yarn 会为它们创建链接,这样所有的项目就可以始终共享最新的代码。 自动合并 yarn.lock 文件 (Auto-merging of lockfiles) 多个开者在开同一个项目时,可能会需要更新包依赖,从而导致 yarn.lock 文件出现突。如果只有一两个...阅读全文

博文 2017-09-19 14:43:15 debian.cn

Kafka生产问题总结以及性能优化

都要用G1垃圾收集器,因为年轻代内存比较大,用G1可以设置GC最大停顿时间,不至于一次minor gc就花费太长时间,当然,因为像kafka,rocketmq,es这些中间件,写数据到磁盘会用到操作系统的page cache,所以JVM内存不宜分配过大,需要给操作系统的存留出几个G。 2.1 线上问题及优化 2.1.1 消息丢失情况 消息端: (1)acks=0: 表示producer不需要等待任何broker确认收到消息的回复,就可以继续下一条消息。性能最高,但是最容易丢消息。大数据统计报表场景,对性能要求很高,对数据丢失不敏感的情况可以用这种。 (2)acks=1: 至少要等待leader已经成功将数据写入本地log,但是不需要等待所有follower是否成功写入。就可以继续...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

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

为Unix套接字文件路径,但需要留心chroot应用及用户的读写权限; :可以为syslog系统的标准facility之一; :定义日志级别,即输出信息过滤器,默认为所有信息;指定级别时,所有等于或高于此级别的日志信息将会被; 3.6 maxconn maxconn 设定一个前端的最大并连接数,因此,其不能用于backend段。对于大型站点来说,可以尽可能提高此值以便让haproxy管理连接队列,从而避免无法应答用户请求。当然,此最大值不能超出“global”段中的定义。此外,需要留心的是,haproxy会为每个连接维持两个,每个的大小为8KB,再加上其它的数据,每个连接将大约占用17KB的RAM空间。这意味着经过适当优化后...阅读全文

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

DDR5 内存加速:Keysight 首发完整测试验证系统

电子测量企业 Keysight Technologies 近日推出了业界第一个完整的 DDR5 DRAM 测试与验证系统“N6475A DDR5 Tx”,为新一代内存的研打开了方便之门。 这套系统包括 Keysight N6475A DDR5 Tx 兼容测试软件、M8040A 64 Gbaud 高性能比特误码率测试仪 (BERT) 和 Infiniium UXR 系列实时示波器两种硬件,可对 DDR5 内存进行抖动、电子、时序、波形、眼图方面的测试,包括 DDR5 芯片、数据、寄存器芯片的射器物理层。 程序会自动将测试结果与 DDR5 标准规范的兼容标准进行对比,展示产品是否通过每一项测试。 在此之前,DDR5 产品的开者们必须自己设计软件,或者手动执行所有测试、分析,现在有了...阅读全文

TLS1.3 正式版发布 — 特性与开启方式科普

延迟会使人感觉到移动浏览速度很慢。不幸的是,数据加密会进一步降低连接的速度。而 TLS1.3 有助于改善这种状况。 要向加密网站一条消息,你必须首先建立共用密钥。这一过程叫做一次握手。它要求有专门的消息往来于浏览器和网站之间。只要你的浏览器连接到一个加密站点,TLS握手就会在后台生。 对于TLS1.2来说,在请求出去之前,需要2次消息往来才能完成握手。通过移动网络访问一个站点时,加载时间会额外增加超过半秒钟。而对于TLS1.3来说,首次握手只需要1次消息往来。这就像把一辆0-60迈加速需10秒的旅行车升级成一辆只需5秒的特斯拉Model S。如果一次连接所需的消息往来耗时约100毫秒,那么TLS1.3的速度提升足以让那些反应迟(加载时间超过300毫秒)的站点变得足够快(加载时间...阅读全文

博文 2018-08-14 14:40:05 debian.cn

三位候选人正进行 2022 Debian 项目负责人选举

mdadm, gocryptfs,wolfssl和其他一些较小的 Debian 包Debian 议程担任领导者后,将孜孜不倦地努力减少 Debian 项目中的突。对外界将尽一切努力帮助世界各地的用户和专业社重新爱上 Debian。让 Debian 成为所有编程生态系统的首要开平台。推进项目的各种长期挑战,例如补充老龄化成员和处理特定语言包管理器的激增(也称为“供应商”问题)。​Jonathan Carter又名 highvoltage,Debian 帐户名为 jcc,2020、2021 两年连续担任 DPL (Debian 项目领导人)。Debian 议程考虑正式注册 Debian 组织,包括成立基金会等工作。(该项同时也是 2021 年竞选的议程)改进会计工作、梳理 Debian 资产。(该...阅读全文

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

开源社区纠纷不断:20 年的 Debian 开发者被排挤出项目

Ferrari 的突,她经常以非常奇怪的方式叫我出来,这也导致了她和我长期以来的分歧,”他补充说。“无论如何,这些都是旧事,但 DAM 仍然用‘你多年来一直在欺负项目成员’和我不能与社团队沟通打击我,并且允许 Debian 中的其他成员在不相关的论坛中在 IRC 上欺负我。”Preining 还表示,总的来说还是因为 Martina 和其他成员是 DAM、CT 以及 Debian 的‘领导圈’的密友,所以他们可以不用遵守相同的社标准。虽然其中的是非曲折,目前尚不能做出判断,但是对于开源社来说,纠纷已不是第一次生。不满 Debian 开流程,Debian 包维护者曾退出早在 2019 年,一位名为 Michael Stapelberg 的 Debian 包维护者在其个人博客表了一篇长文,宣布...阅读全文

理解 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

VIRPUS – $1.5/mo Xen 4核 1G 50G 1.5T 1Gbps 西雅图

virpus是一家成立很久的美国vps主机商,本次黑五活动,算是相当给力了。采用xen虚拟架构技术,数据中心为西雅图,国内速度还是很优秀和稳定的,硬盘为hdd+ssd存,带宽为1Gbps上行;折扣为3折,非常给力。 优惠码:BLACKFRIDAY2017 黑五专属折扣,算是很有性价比了,机会不容错过。支持Paypal、MasterCard、比特币支付。 优惠方案 核心:4核CPU 内存:1GB 硬盘:50GB 流量:1.5TB 端口:1Gbps 架构:Xen 价格:$1.50/month 传:购买链接 https://my.virpus.com/cart.php?a=confproduct&i=0 官网链接 https://www.virpus.com/...阅读全文

博文 2017-11-25 11:05:35 debian.cn

Google Chrome开始加入HTTP/3和IETF QUIC支持

,IETF QUIC "在TCP上明显优于TLS 1.3的HTTPS"。例如,谷歌搜索延迟降低了2%,而YouTube的重新时间减少了9%。 因此,该公司在其浏览器中启用了对IETF QUIC的支持,不少于25%的用户从今天起会自动启用。根据谷歌的说法,本次实现是基于29号草案,这不是最新的版本,但在后续的草案中没有突破性的变化。谷歌还没有添加的是对IETF QUIC 0-RTT的支持,它将在以后出现,这将带来更好的性能。 HTTP/3还没有最终确定,目前还不清楚浏览器何时能有一个完全最终确定的实现。...阅读全文

博文 2020-10-08 11:16:05 debian.cn

牛油果ENU团队推出新项目EVO 将空投

律动 BlockBeats 消息,5 月 25 日,据官方消息,牛油果 Enumivo 团队宣布推出新项目 EVO Chain,旨在复制一条 ETH2。官方表示,将在块高度 12,520,000 至 12,800,000 间内进行代币空投。 用户需要在此间内,向 0x3fEa51dAab1672d3385f6AF02980e1462cA0687b 地址 0 ETH,成功后便可获得 4 EVO,同时团队将获得 1 EVO。单一地址交易次数不限,EVO 总量 1 亿枚。 团队同时表示,对 DPoS 已经失望,此前行于 EOS 链上的项目将会迁移至 EVO Chain 上。...阅读全文

Golang 操作 Kafka 样例

)、consumer(消息消费者)都可以是分布式的。 在消息的生产时可以使用一个标识topic来分,且可以进行分;每一个分都是一个顺序的、不可变的消息队列, 并且可以持续的添加。 同时为布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。 消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡 1.1.3. 常用的场景 监控:主机通过Kafka与系统和应用程序健康相关的指标,然后这些信息会被收集和处理从而创建监控仪表盘并警告。 消息队列: 应用程度使用Kafka作为传统的消息系统实现标准的队列和消息的布—订阅,例如搜索和内容提要(Content Feed)。比起大多数的消息系统来说,Kafka...阅读全文

博文 2023-01-10 13:46:09 掘金

Web前端知识体系精简

-Modified 是标识文件在服务器上的最新更新时间。下次请求时,如果文件存过期,浏览器通过 If-Modified-Since 字段带上这个时间,给服务器,由服务器比较时间戳来判断文件是否有修改。如果没有修改,服务器返回304告诉浏览器继续使用存;如果有修改,则返回200,同时返回最新的文件。 Cache-Control 通常与 Last-Modified 一起使用。一个用于控制存有效时间,一个在存失效后,向服务查询是否有更新。 Cache-Control 还有一个同功能的字段:Expires。Expires 的值一个绝对的时间点,如:Expires: Thu, 10 Nov 2015 08:45:11 GMT,表示在这个时间点之前,存都是有效的。 Expires 是 HTTP1.0 标准...阅读全文

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

谷歌公开了内部管理Infra层的两个工具的Paper

库?服务需要支持多大的流量? 这些都是很重要的问题,但服务是动态并且变化的:二进制版本不断更新,实例被添加和删除。架构也就需要随之演进:可能需要在某个特定的集群添加新的存,移除一些过时的日志等等。 在2014年,我们现自己不能充分地适应服务的灵活性。对于绝大多数服务,我们使用人工编制的工作流来变更基础架构:推x,然后y;手动执行不常见的变更。 但是团队通常需要管理数十个服务,每个服务都有很多job,数据库,配置以及自定义的管理流程。已有的解决方案因为如下两大原因无法扩展: 基础架构配置和API是异构的,并且很难连接在一起——比如,不同的服务使用不同的配置语言,抽象级别,存储和推机制等等。因此,基础架构不一致,很难确定出通用的变更管理。生产变更管理的流程很脆弱,不理解变更之间的联系...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

Gitlab CI 配置文件 .gitlab

。 默认情况下,job artifacts 只正对成功的jobs收集。 artifacts用于指定成功后应附加到job的文件和目录的列表。只能使用项目工作间内的文件或目录路径。如果想要在不通的job之间传递artifacts,请查阅依赖关系。以下是一些例子: binaries和.config中的所有文件: artifacts: paths: - binaries/ - .config 所有没有被Git跟踪的文件: artifacts: untracked: true 没有被Git跟踪和binaries中的所有文件: artifacts: untracked: true paths: - binaries/ 定义一个空的dependencies可以禁用artifact传递: job...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

打破IP协议重塑互联网 华为能做到吗

的 IP 报头允许终端用户指定要在数据包上执行的自定义功能。 文章以智能家居为例,描述了新 IP 网络下的应用场景: 运动传感器检测出房间出现异常活动时,会通知相应房间的安全摄像头通过智能家居网络采集信息,然后,安全摄像头将收集到的图像信息通过互联网到主人的智能手机上进行判断。如果只是误报,主人可以向安全摄像头信息要求停止信息收集。由于房子里的所有设备都连接在同一个家庭网络上,所以运动传感器可以直接将通知到安全摄像头,并带有它的域内地址;并且由于新的 IP 协议向源地址中添加了一个地址段(4.3.2.1),摄像头数据能够直接传至用户的智能手机中。 不难看出,在该场景中,新 IP与传统 IP 相比有两方面优势:一是智能家居网络采用短地址空间进行批量通信,减少了分组开销,提高了通信...阅读全文

博文 2020-03-31 06:40:15 debian.cn

巴克莱:仍预计美联储2月加息50个基点,3月加息25个基点

【巴克莱:仍预计美联储2月加息50个基点,3月加息25个基点】1月7日消息,巴克莱银行仍然预计美联储将在2月份的会议上加息50个基点,3月份加息25个基点。经济学家们认为,3月份较小幅度的加息将是对经济活动和劳动力市场放的越来越多证据以及通胀数据继续放的回应。这将使联邦基金目标间在3月会议后达到5%-5.25%,与12月的经济预测报告中的点阵图中值相对应。然而,2月FOMC的决定仍取决于关键数据的布,如下周公布的12月CPI。经济学家们称,展望3月份以后,他们预计FOMC将暂停加息行动,但不排除如果该委员会未能看到足够的经济放,会继续逐步加息的可能性。 日期: 2023-01-07 23:52...阅读全文

如何使用 journalctl 清理 journal 日志

=, MaxLevelKMsg=, MaxLevelConsole=, MaxLevelWall= MaxLevelStore= 设置记录到日志文件中的最高日志等级,默认值为"debug"; MaxLevelSyslog= 设置转给传统的 syslog 守护进程的最高日志等级,默认值为"debug"; MaxLevelKMsg= 设置转给内核日志(kmsg)的最高日志等级,默认值为"notice"; MaxLevelConsole= 设置转给系统控制台的最高日志等级,默认值为"info"; MaxLevelWall= 设置作为警告信息给所有已登录用户的最高日志等级,默认值为"emerg"; 这些选项既可以设为日志等级的名称, 也可以设为日志等级对应的数字: "emerg"(0), "alert"(1...阅读全文

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

钉钉发送报警消息的Python实现

] else: return '' 需要先上传文件获得media_id,然后使用media_id将文件给用户。另外,这里用到了poster,可使用pip安装: pip install poster 之后引入multipart_encode和register_openers函数: from poster.encode import multipart_encode from poster.streaminghttp import register_openers 给群会话消息 与给用户信息类似,别是需要群会话id,而不是用户列表,以文本消息为例,代码如下: def send_text_to_chat(access_token, chat_id, text): msg_type, msg...阅读全文

博文 2018-04-27 08:51:33 debian.cn

得物云原生全链路追踪Trace2.0-采集篇 - OSCHINA

塞队列性能更好的 Mpsc (多生产单消费)队列,它使用大量的 long 类型字段来做内存域填充,用空间换时间解决了伪共享问题,减少了并情况下的写竞争来提高性能。 在流量高峰时期,链路数据的队列这一块的性能从火焰图上看 CPU 占比平均小于2%,日常服务CPU整体水位与0采样相比几乎没有明显差距,因此我们经过多方面压测对比后,决定在生产环境客户端侧开放链路数据的全量上报,实现了在得物技术史上的全链路 100% 采样,终结了一直以来因为低采样率导致问题排查困难的问题,至此,在第三阶段,得物的全链路追踪技术正式迈入 Trace2.0 时代。 得益于 OpenTelemetry 整体的可插拔式 API 设计,我们二次开了 OpenTelemetry Java...阅读全文

博文 2022-12-10 06:50:41 中文开源技术交流社区

一位资深Java架构师的晋级心得

计原理,Spring事务处理机制,SpringMVC,Spring源码分析Mybatis:Mybatis体系结构,Mybatis核心应用与配置,Mybatis关联查询,与Spring集成,Mybatis源码分析 2. 工程化工具 Maven项目工具:Maven命令使用,Maven的pom配置体系,插件机制及插件开,Nexus使用,上传,配置Git分布式版本控制:Git安装和理解仓库,工作常用命令,分支和Tag管理,代码突解决方案,Github开源社,Git企业应用,与IDE集成Sonar代码检测:Sonar环境搭建和使用,使用Sonar进行代码质量管理,与IDE集成使用Jenkins:搭建Jenkins自动化部署环境,集成git/maven/sonar工具,插件机制 3. 微服务架构...阅读全文

博文 2019-01-13 22:49:22 debian.cn

Nginx 安全问题致 1400 多万台服务器易受 DoS 攻击

ngx_http_v2_module 编译的 nginx(默认情况下不编译)。” 为了利用上述两个问题,攻击者可以特制的 HTTP/2 请求,这将导致过多的CPU使用和内存使用,最终触 DoS 状态。 所有运行未打上补丁的 nginx 服务器都容易受到 DoS 攻击。 第三个安全问题(CVE-2018-16845)会影响 MP4 模块,使得攻击者在恶意制作的 MP4 文件的帮助下,在 worker 进程中导致出现无限循环、崩溃或内存泄露状态。 最后一个安全问题仅影响运行使用 ngx_http_mp4_module 构建的 nginx 版本并在配置文件中启用 mp4 选项的服务器。 总的来说,HTTP/2 漏洞影响 1.9.5 和 1.15.5 之间的所有 nginx 版本,MP4 模块安全问题影响运行 nginx...阅读全文

博文 2018-11-09 11:43:37 debian.cn

Gitlab CI 配置文件 .gitlab

也有一个特殊的状态,叫manual。 手动操作指令默认是不阻塞的。如果你想要手动操作指令产生阻塞,首先需要在job的配置文件.gitlab-ci.yml中添加allow_failure:false。 可选的手动操作指令默认设置allow_failure:true。 可选动作的状态不影响整个pipeline的状态。 手动操作指令被认为是写操作,所以当前用户触操作时,必须拥有操作保护分支的权限。换句话说,为了触一个手动操作指令到pipeline中正在运行的指定分支,当前用户必须拥有推到这分支的权限。 enviroment 注意: GitLab 8.9 开始引入。 更多关于environment说明或者示例可以查看 documentation about environments...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

互联网协议正在发生变化

的安全是否是一个正确的解决方案有很多的争论。确实,仍然有可能对使用 TLS 1.3 的通讯进行解密,但是,你需要去访问一个短暂密钥才能做到,并且,按照设计,它们不可能长时间存在。 在这一点上,TLS 1.3 看起来不会去改变以适应这些网络,但是,关于去创建另外一种协议有一些传言,这种协议允许第三方去偷窥通讯内容,或者做更多的事情。这件事是否会得到推动还有待观察。 QUIC 在 HTTP/2 工作中,可以很明显地看到 TCP 有相似的低效率。因为 TCP 是一个按顺序的协议,一个数据包的丢失可能阻止其后面中的数据包被到应用程序。对于一个多路复用协议来说,这对性能有很大的影响。 QUIC 尝试去解决这种影响而在 UDP 之上重构了 TCP 语义(以及 HTTP/2 流模型的一部分...阅读全文

Debian 社区陷入尴尬 或群龙无首

也预想了这种情况,在没有项目负责人的情况下,技术委员会主席和项目秘书有权做出各种决定,前提是他们能够达成一致。信中对这种情况表示乐观:“由于 Debian 开人员向来以‘非争论群体’著称,所以达成一致应该不成问题。”但很明显这种不确定因素过高的方案不是一个良策。 联系一下此前 Debian 包维护者 Michael 对社的不满,他认为 Debian 整个开评估流程都非常迟,比如补丁的评估没有截止日期,有时候他会收到通知说几年前递交的补丁现在合并了;赋予维护者的个人自由度太高,一些维护者可以出于个人喜好拒绝合作等,这些都对 Debian 的展产生不好的影响。 就像 Michael,许多人都认为社内部给予开者的自由度过高,并且带来不好的影响。按照前边对于 Debian 领导人实权的...阅读全文

博文 2019-03-14 11:05:23 debian.cn