InfraPub 为您找到相关结果 542

使用 tmate 分享你的终端会话

ssh 命令之类的共享信息。 tmate 是怎么工作的? 运行 tmate 时,会通过 libssh 在后台创建一个连接到 tmate.io (由 tmate 开发者维护的后台服务器)的 ssh 连接。 tmate.io 服务器的 ssh 密钥通过 DH 交换进行校验。 客户端通过本地 ssh 密钥进行认证。 连接创建后,本地 tmux 服务器会生成一个 150 位(不可猜测的随机字符)会话令牌。 队友能通过用户提供的 SSH 会话 ID 连接到 tmate.io。 使用 tmate 的必备条件 由于 tmate.io 服务器需要通过本地 ssh 密钥来认证客户机,因此其中一个必备条件就是生成 SSH 密钥 key。 记住,每个系统都要有己的 SSH 密钥。 $ ssh-keygen -t...阅读全文

博文 2017-12-06 10:33:33 debian.cn

如何离线更新基于 Debian 的系统

系统,你可以通过下面的命令安装 Apt-Offline: sudo apt-get install apt-offline 如果你的在线系统运行的是非 Debian 类的发行版,使用 git clone 获取 Apt-Offline 仓库: git clone https://github.com/rickysarraf/apt-offline.git 切换到克隆的目录下并在此处运行: cd apt-offline/ sudo ./apt-offline 在离线系统(没有联网的系统)上的步骤 到你的离线系统上创建一个你想存储签名文件的目录: mkdir ~/tmp cd ~/tmp/ 你可以己选择使用任何目录。接下来,运行下面的命令生成签名文件: sudo apt-offline set...阅读全文

博文 2018-02-07 10:06:03 debian.cn

Linux 27周年:这27件有趣的事实你可能不知道

斯曾在2000年为 Linus Torvalds 提供一份工作,条件是他停止在 Linux 上的开发。Linus 拒绝了。 13、Linux 有多成功?它的长期竞争对手微软,在90年代初曾试图“熄灭”该项目,到现在却在利用 Linux 进行服务器业务,甚至在为内核开发做贡献! 14、说到贡献,谷歌、英特尔、华为、三星、红帽、Canonical 和 Facebook 是近年来 Linux 内核开发的主要贡献者。 15、Linus 出生于芬兰,一个双语国家,并认为瑞典语是他的“母语”。他说,由于发音不同,他常常觉得用英语说话“不舒服”,但却更喜欢阅读英文书籍。 16、Linux 可能是现在最大的由软件项目(参见第一条),不过在1991年首次发布时,它仅有约 10 万行代码。 17、在重新调整其...阅读全文

Debian目前面临的问题:钱足够但很缺人!

眉之急。 当前很多人承担了过多的责任。 最大的问题在于参与者,而非具体的过程。Carter 认为项目本身非常具有挑战。“问题永无止境,潜藏于项目的方方面面。计算机科学领域的任何问题,都同样存在于我们的工作中”。这将吸引那些勇于面对挑战的志愿开发人员参与其中,“Debian 是一个值得投入毕生精力关注的项目”。 “在不增加现有开发人员工作强度前提下,我估算达成我们期望项目目标所需增加的志愿开发人员规模,大约是目前人员规模的三倍。当前的项目人员承担了过多的责任,因为大家感觉到每个人都是不可替代的。” 一种考虑是增加人员的多样性。Carter 本人来南非,更倾向于增加非洲籍和女性代码开发人员。他还提议增加小规模会议、用户组活动等本地 Debian 活动,进而“降低进入项目的门槛”。 Carter...阅读全文

博文 2020-10-09 10:24:04 debian.cn

C++ 夺冠!成为 TIOBE 2022 年度编程语言

在上个月预想的 C++、C、Python 三种候选语言中,C++ 脱颖而出,成为 TIOBE 2022 年度编程语言的最终获得者! C++ 摘得桂冠 近段时间来,C++ 的发展有目共睹,其在上个月甚至首次超过了 Java,位居榜单第三的位置。现如今之所以赢得年度编程语言的称号,TIOBE 官方也进行了总结与回顾。 其表示,「C++ 受欢迎的原因是它出色的性能,同时 C++ 是一种高级面向对象语言。正因为如此,众多开发者可以使用 C++ 快速开发庞大的软件系统(超过数百万行代码),而不一定会陷入维护的噩梦循环中。 C++ 崛起的另一个原因是它“最近”不断发布具有有趣功能的新语言标准。第一个标准被称之为 C++11,它于 2011 年发布,这是 1998 年以来,C++ 第一次发生的重大变化...阅读全文

博文 2023-01-10 06:42:12 CSDN博客

高性能缓存服务器 Nuster

-rule 200and404 code 200,404 cache-rule all code all if|unless condition 定义 ACL 条件 详见HAProxy configuration的7. Using ACLs and fetching samples 常见问题 如何调试? 在global添加debug, 或者带-d启动haproxy 缓存相关的调试信息以[CACHE]开头 如何缓存 POST 请求? 添加option http-buffer-request 如果定义了 key 的话需要使用body关键字 请求 body 可能不完整,详见HAProxy configuration 的 option http-buffer-request小节 另外可以为 post 请求...阅读全文

博文 2017-12-15 22:17:31 debian.cn

GlusterFS 和 Ceph 比比看

Ceph 的差异。顾名思义,GlusterFS 是来 Linux 世界的文件系统,并且遵守所有 POSIX 标准。尽管你可以将 GlusterFS 轻松集成到面向 Linux 的环境中,但在 Windows 环境中集成 GlusterFS 很难。 Ceph 是一种全新的存储方法,对应于 Swift 对象存储。在对象存储中,应用程序不会写入文件系统,而是使用存储中的直接 API 访问写入存储。因此,应用程序能够绕过操作系统的功能和限制。如果已经开发了一个应用程序来写入 Ceph 存储,那么使用哪个操作系统无关紧要。结果是,Ceph 存储在 Windows 环境中像在 Linux 环境中一样容易集成。 基于 API 的存储访问并不是应用程序可以访问 Ceph 的唯一方式。为了最佳的集成,还有一个...阅读全文

博文 2017-08-09 10:35:29 debian.cn

Go 1.16 即将发布,这些变更你需要知道

)) } 在 Go1.16 以前输出 2048, 1280。在 Go1.16 及以后输出 1280, 1280,保证了两种的一致。 支持 Apple Silicon M1 众所周知,最新版本的 Mac 采用了新的 64 位 ARM 架构,因此在 Go1.16 后正式支持了 GOOS=darwin 和 GOARCH=arm64。 而相应的先前用于 iOS 端口的,将改为 GOOS=ios 和 GOARCH=arm64。 同时 Apple M1 能不能很好的跑好 Go 语言程序也是各大微信群爱讨论的问题,在 GoLand 上: 图来网络,路过微信群看见 需要注意,GoLand 的一些与 Go1.16 相关的特性要到后续新版本才可以使用。 调整 Go modules 策略 从 Go1.16 起,Go...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

Golang 应用集成 Prometheus 统计数据支持

go_gc_duration_seconds_sum 0 go_gc_duration_seconds_count 0 # HELP go_goroutines Number of goroutines that currently exist. # TYPE go_goroutines gauge go_goroutines 6 # HELP go_info Information about the Go environment. # TYPE go_info gauge go_info{version="go1.12"} 1 添加定义指标 创建指标并注册到prometheus // 初始化 web_reqeust_total, counter类型指标, 表示接收http请求总次数 var WebRequestTotal...阅读全文

博文 2022-11-24 10:33:09 CSDN博客

一位资深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

Rust 1.37.0 稳定版发布

-Guided Optimization) rustc 编译器现在通过 -C profile-generate 和 -C profile-use 标志提供了对配置文件引导优化(PGO)的支持。 Profile-Guided Optimization 允许编译器根据来实际工作负载的反馈优化代码。它的工作方式是编译程序,在两个步骤中进行优化: 首先,程序是用编译器插入的工具构建的。这是通过将 -C profile-generate 标志传递给 rustc 来完成的。然后,需要在示例数据上运行检测程序,并将分析数据写入文件之后,重新构建程序,这一次使用 -C profile-use 标志将收集到的分析数据反馈回 rustc。此构建将利用收集到的数据,使编译器能够对代码放置、内联和其他优化做出更好的决定 在...阅读全文

博文 2019-08-17 21:17:23 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 )。会动根据网速选...阅读全文

JDK 11 版本时间表公布

前发了推文: JDK 11 版本包括 JEP 320(移除 Java EE 和 CORBA 模块),因此它们体积更小:减少了 9 个模块,文件大小少了 22 MB。 JEP-320:移除 Java EE 和 CORBA 模块 Java SE 9 的重组包括对 Java EE 和 CORBA 模块的支持,但根据 JEP-277,它们立即遭到弃用,并在未来版本中移除掉。 Java EE 模块是 Java SE 6 发布以来在 JDK 中提供的 Web 服务栈,以方便 Java 开发人员: JSR-224:基于 XML 的 Web 服务 Java API(JAX-WS) JSR-222:用于 XML 绑定的 Java 架构(JAXB) JSR-925:JavaBeans 激活框架(JAF...阅读全文

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

Debian的版本号及distributions

one with the higher version number). If two or more versions have the same priority and version number but either the packages differ in some of their metadata or the —reinstall option is given, install the uninstalled one. 显然在多数情况下处于testing的版本会被选中,而这并不是我们期望的。虽然可以用apt-get的-t选项来来指定目标distribution,然而每次都指定这个选项也太麻烦,而且还有遗忘的危险,于是APT::Default-Release这个配置参数就...阅读全文

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

如何在 Debian 上添加和删除用户

一个用户,一个组,并为您的用户主目录。您的新用户现在可以使用了!您现在可以使用您设置的密码登录。 注 :继续,如果你需要你的新用户访问管理功能。 如何授予用户Sudo权限 如果您的新用户需要执行root权限命令,你就需要给新的用户访问sudo 。 让我们来看看两种方法解决这个问题:将用户预先定义sudo 用户组 ,并且针对每个用户的基础上在指定的特权sudo的配置。 将新用户添加到Sudo组 默认情况下, sudo在Debian系统8配置为完全权限延伸到sudo的组中的任何用户。 您可以看到您的新用户是组与groups命令: $ groups sammy sammy : sammy 默认情况下,新用户仅在己的组中,该组是在创建帐户时创建的,并与用户共享名称。为了将用户添加到新组,可使用...阅读全文

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

不要光想着价格 QLC 与 TLC 闪存有什么不同

差,但是更便宜的成本、更大容量的优势是无法忽视的。随着技术的不断发展和成熟,QLC就像当年TLC一样从不被接纳到广泛认可也是早晚的事情. 其实不管是TLC还是QLC,只要价格够便宜,容量够大,速度够快,寿命有保障,总会获得消费者的喜欢,赢得属于己的市场份额。 而对于HDD来说,QLC的出现将带来更大的威胁。或许真正QLC SSD普及之时,才是HDD 跟我们Say byebye之时。...阅读全文

博文 2017-08-01 09:52:54 debian.cn

Debian 10 Buster 正式版即将发布

: GNOME 桌面 3.30 Debian Stretch 版中的 GNOME 桌面在 Buster 中从 1.3.22 升级到了 1.3.30。在 GNOME 桌面发布版中新包含的一些包是 gnome-todo、tracker 替代了 tracker-gui、gstreamer1.0-packagekit 的依赖,因此可以通过动地安装编码解码器来做播放电影之类的事。对于所有包来说一个大的改变是从 libgtk2+ 到 libgtk3+。 Linux 内核 4.19.0-4 Debian 使用 LTS 内核版本,因此你可以期待更好的硬件支持和长达 5 年的维护和支持周期。我们已经从内核 4.9.0.3 到 4.19.0-4。 OpenJDK 11.0 Debian 在很长时间里都是 OpenJDK...阅读全文

博文 2019-04-29 11:04:15 debian.cn

Golang常见的十大算法精简版

最近有时间,都在看Go,感觉Go语言真的不错,具体行百度。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转化成输出结果算法的意义用于解决特定的问题解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编程开发中,还是不可或缺的。下面简单来列举一下go语言常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文

博文 2019-09-05 09:31:10 debian.cn

改善 Debian Linux 软件包管理的七款工具

软件包,或者安装手动下载的软件包。 然而,它们都方便。使用得当,它们可以节省时间和精力,一些工具可以帮助你避免常见问题。确定己有什么样的要求,然后选择最适合的工具。 原文标题:Improving Debian Linux Package Management: Seven Tools,51CTO译稿,中文原始链接这里。...阅读全文

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

Apollo 分布式配置中心详解

于配置中心,那么在这里有必要先简单介绍一下什么是配置。配置有以下几个属性。 配置是独立于程序的只读变量 配置首先是独立于程序的,同一份程序在不同的配置下会有不同的行为。其次,配置对于程序是只读的,程序通过读取配置来改变己的行为,但是程序不应该去改变配置。 常见的配置有:DB Connection Str、Thread Pool Size、Buffer Size、Request Timeout、Feature Switch、Server Urls 等。 配置伴随应用的整个生命周期 配置贯穿于应用的整个生命周期,应用在启动时通过读取配置来初始化,在运行时根据配置调整行为。 配置可以有多种加载方式 配置也有很多种加载方式,常见的有程序内部 hard code,配置文件,环境变量,启动参数,基于数...阅读全文

博文 2020-04-12 12:16:26 debian.cn

Debian 10使用 Wine 安装配置微信、QQ与TIM

中列出的程序,比如笔者安装的WeChat,这时Remove按键高亮,点击Remove即可卸载想要安装的程序。这样能够安装一些简单的软件。比如可以安装360压缩,然而wine安装的360压缩打开来Windows压缩的zip文件”入乡随俗“一样是乱码,而Windows的360压缩或者其他压缩软件就能够正常不乱码解压。值得一提,4G以下的zip文件在Linux下可以用unar命令直接unar XXX.zip解压,而且不会乱码。 有输入框的如微信、QQ与TIM 参考文章wine新版 wine-5.12 微信、QQ 等软件输入框无法输入的问题解决办法,安装这类软件需要安装winetricks,直接输入如下命令安装 sudo apt install winetricks 然后输入 winetricks...阅读全文

深入学习golang — channel

) { // Start handlers for i := 0; i < MaxOutstanding; i++ { go handle(clientRequests) } <-quit // Wait to be told to exit. } 开始就启动固定数量的handle goroutine,每个goroutine都直接从channel中读取请求。这种写法比较简单,但是不知道有没有“惊群”问题?有待后续分析goroutine的实现。 5. 传递channel的channel channel作为go语言的一种原生类型,然可以通过channel进行传递。通过channel传递channel,可以非常简单优美的解决一些实际中的问题。 在上一节中,我们主goroutine通过channel将请求传递给工作...阅读全文

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

如何在 Debian服务器 上启用双因子身份验证

reload sshd 现在,你可以使用新终端登录,以核实你会被提示输入密码并需要 SSH 密钥。如果你用 ssh -v,例如 ssh -v joseph@example.com,你将可以看到登录的每一步,可以加多个v来获取更多的 debug 信息。 注意,如果你确实将密码设置成必需的身份验证方法,你要确保将 PasswordAuthentication 选项设置成 yes。 使用 Google Authenticator 的 SSH Google 在 Google 己的产品上使用的双因子身份验证系统可以集成到你的 SSH 服务器中。如果你已经使用了Google Authenticator,那么此方法将非常方便。 虽然 libpam-google-authenticator 是由 Google 编写...阅读全文

博文 2018-12-05 11:44:56 debian.cn

Kubernetes常用命令大全(持续更新)

autoscale deployment foo --min=2 --max=10 #### 动扩展 deployment “foo” 编辑资源 kubectl edit svc/docker-registry #### 编辑名为 docker-registry 的 service KUBE_EDITOR="nano" kubectl edit svc/docker-registry #### 使用其它编辑器 动态伸缩pod kubectl scale --replicas=3 rs/foo #### 将foo副本集变成3个 kubectl scale --replicas=3 -f foo.yaml #### 缩放“foo”中指定的资源。 kubectl scale --current-replicas...阅读全文

博文 2020-03-13 12:35:13 debian.cn

Gitlab CI 配置文件 .gitlab

可用于复制/继承属性,并且是使用hidden keys来提供模版的完美示例。 下面这个例子使用了anchors和map merging。它将会创建两个jobs,test1和test2,该jobs将集成.job_template的参数,每个job都定义脚本: .job_template: &job_definition # Hidden key that defines an anchor named 'job_definition' image: ruby:2.1 services: - postgres - redis test1: <<: *job_definition # Merge the contents of the 'job_definition' alias script...阅读全文

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

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

来实现,直接在代码里写前缀的做法要严格避免,这样可维护性实在太差了。 如:系统名:业务名:业务数据:其他 但是注意,key的名称不要过长,尽量清晰明了,容易理解,需要己衡量 10.线上禁止使用monitor命令 禁止生产环境使用monitor命令,monitor命令在高并发条件下,会存在内存暴增和影响Redis性能的隐患 11.禁止大 string 核心集群禁用1mb的string大key(虽然redis支持512MB大小的string),如果1mb的key每秒重复写入10次,就会导致写入网络IO达10MB; 12.redis容量 单实例的内存大小不建议过大,建议在10~20GB以内。 redis实例包含的键个数建议控制在1kw内,单实例键个数过大,可能导致过期键的回收不及时。 13 可靠...阅读全文

博文 2018-10-27 10:18:18 debian.cn

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 掘金

Cortex: 高可用和水平扩展Prometheus监控系统

服务。如果cortex有许多的查询,则可以扩展Querier或Query Frontend微服务。高可用性– Cortex可以在实例之间复制数据replicate data。这样可以防止数据丢失,并避免度量标准数据出现间断,即使发生机器故障and/orpod被驱逐。多租户–多个不受信任的parties可以共享同一群集。Cortex在从ingester到querying的整个生命周期中提供数据隔离。这对于为多个单元或应用程序存储数据的大型组织或运行SaaS服务的人员非常有用。长期存储– Cortex将数据分块存储并为其生成索引。可以将Cortex配置为将其存储在托管或云提供商支持的数据库或对象存储中。Cortex的需求Prometheus高可用性和数据去重Prometheus默认情况下不具有...阅读全文

博文 2021-10-09 17:00:22 知乎

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

文件这块的原理描述的文章已经非常多了,所以这里我不再做过多的赘述,感兴趣的同学可以从Wikipedia翻阅一下。由于这块内容比较复杂,不属于本文普及的内容,建议读者另行研,这里我非常推荐马士兵老师将linux文件系统这块,讲解的真的非常好。 select模型 此模型是IO多路复用的最早期使用的模型之一,距今已经几十年了,但是现在依旧有不少应用还在采用此种方式,可见其长生不老。首先来看下其具体的定义(来源于man二类文档): int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout); 这里解释下其具体参数: 参数一:nfds,也即maxfd,最大的文件描...阅读全文

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

什么是线程安全,以及并发需要知道的几个概念

众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。为了追求成为一个好的Java程序员,我决定从今天开始死磕Java的并发编程,尽量弥补己在这方面的知识缺陷。 并发必须知道的概念 在深入学习并发编程之前,我们需要了解几个基本的概念。 同步和异步同步和异步用请求返回调用的方式来理解相对简单。 同步:可以理解为发出一个请求后,必须等待返回结果才能执行下面的操作。 异步:请求发出后,不需要等待返回结果,可以继续执行后续操作,异步请求更像是在另一个 “空间” 中处理请求的结果,这个过程不会影响请求方的其他操作。 举个生活中的例子,比如我们去实体店买衣服,挑选完款式后下单让售货员去仓库拿货,在售货员拿货的过程你需要在店...阅读全文

博文 2018-12-31 20:44:06 debian.cn

Golang 中的 channel 通道详解

制将在编译期检测。func f1(out chan<- int) {} func f2(out chan<- int, in <-chan int){} 在调用f1或f2的时候,传入的chan类型参数会动隐式转换为chan<- int 和<-chan int类型,这种转换只是单向的,没有单向channel类型转换为chan类型。因为关闭操作只用于断言不再向channel发送新的数据,所以只有在发送者所在的goroutine才会调用close函数,因此对一个只接收的channel调用close将是一个编译错误。带缓存的channel带缓存的Channel内部持有一个元素队列。队列的最大容量是在调用make函数创建channel时通过第二个参数指定的。通过内置函数cap() 可以获得...阅读全文

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

-11) | 新的上游稳定版;安全修复[CVE-2020-25694 CVE-2020-25695 CVE-2020-25696] | | [postsrsd](https://packages.debian.org/src:postsrsd) | 确保时间戳标签在尝试解码之前不会太长[CVE-2020-35573] | | [python-bottle](https://packages.debian.org/src:python-bottle) | 停止允许;作为查询字符串分隔符[CVE-2020-28473] | | [python-certbot](https://packages.debian.org/src:python-certbot) | 动使用ACMEv2 API进行续费,以...阅读全文

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

Linux系统诊断-内存基础

用(默认),1表示启用。可以理解为oom机制的开关,默认为禁用——表示要让oom触发器正常执行。其他有兴趣的话,可以行man proc6. 结语如有纰漏欢迎指正。作者:SRE团队技术小编-小凌原文链接 本文为阿里云原创内容,未经允许不得转载javascriptcss3阅读 176发布于 2 月 9 日赞2收藏2分享本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议阿里云栖号汇集阿里技术精粹-yq.aliyun.com关注专栏...阅读全文

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

SVN切换分支用法汇总

参考这些命令,来更好地管理己的代码仓库。1. svn switchsvn switch URL [PATH] 该命令的作用是将工作副本切换到URL的版本。如果指定了PATH,则该命令会将PATH指定的目录切换到URL的版本。如果省略PATH,则该命令将当前工作目录切换到URL的版本。2. svn checkoutsvn checkout URL [PATH] 该命令的作用是将URL指定的版本库checkout到PATH指定的本地目录。如果省略PATH,则该命令会在当前目录下创建一个与URL同名的本地目录,并在其中checkout版本库。3. svn listsvn list URL 该命令的作用是查看URL指定的版本库中的文件和目录。4. svn movesvn move old_URL...阅读全文

博文 2023-06-09 14:22:35 infras

聊聊很重要的内核技术eBPF

,eBPF程序可以调用帮助函数,该函数是内核提供的众所周知且稳定的API。 总结 安全,网络,负载均衡,故障分析,追踪等领域都是eBPF的主战场。对于云原生领域,Cilium 已经使用eBPF 实现了无kube-proxy的容器网络。利用eBPF解决iptables带来的性能问题。 整个eBPF生态发展比较好,社区已经提供了诸多工具方便大家编写己的eBPF程序。...阅读全文

博文 2020-08-16 11:08:44 debian.cn

六大算法之三:动态规划【转载】

)确定决策并写出状态转移方程:因为决策和状态转移有着天然的联系,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。所以如果确定了决策,状态转移方程也就可写出。但事实上常常是反过来做,根据相邻两个阶段的状态之间的关系来确定决策方法和状态转移方程。 (4)寻找边界条件:给出的状态转移方程是一个递推式,需要一个递推的终止条件或边界条件。 一般,只要解决问题的阶段、状态和状态转移决策确定了,就可以写出状态转移方程(包括边界条件)。 实际应用中可以按以下几个简化的步骤进行设计: (1)分析最优解的性质,并刻画其结构特征。 (2)递归的定义最优解。 (3)以底向上或顶向下的记忆化方式(备忘录法)计算出最优值 (4)根据计算最优值时得到的信息,构造问题的最优解 算法实现的说明 动态规划的主要难点在...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

DPDK Graph Pipeline 框架简介与实现原理

DPDK 全称为 Data Plane Development Kit ,是近年来在高速网络通信行业中炙手可热的一种网络报文处理加速框架。DPDK 从十年前诞生直至发展到今天已经可以支持业界主流的高端网卡以及各类加速硬件设备,同时也支持主流的各个CPU 体系结构(可以运行于 X86, Arm, Power 等平台)。同时也可以运行于 Linux/FreeBsd/Windows 等主流操作系统之上。DPDK因为其优异的性能指标被广泛的应用于网关/负载均衡/SDN/虚拟交换的各个场景。 本文主要介绍 DPDK 中的 libgraph 设计思想以及实现,libgraph 的设计思想源于开源项目 Vector Packet Processor(VPP)。VPP 中的向量包处理优化方案是...阅读全文

博文 2023-02-09 07:13:55 掘金

Debian 9 使用kubeadm创建 k8s 集群(上)

本教程使用的是 Kubernetes 1.14版,这是本文发布时的官方支持版本。 有关最新版本的最新信息,请参阅官方Kubernetes文档中的当前发行说明 。 Kubeadm动安装和配置Kubernetes组件,例如API服务器,Controller Manager和Kube DNS。 但是,它不会创建用户或处理操作系统级依赖关系及其配置的安装。 对于这些初步任务,可以使用Ansible或SaltStack等配置管理工具。使用这些工具可以更加简单地创建其他集群或重新创建现有集群,并且不易出错。 在本指南中,您将使用Ansible和Kubeadm从头开始设置Kubernetes集群,然后将容器化的Nginx应用程序部署到它。 目标 您的群集将包含以下物理资源: 一个主节点 主节点...阅读全文

博文 2019-05-13 22:47:39 debian.cn

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

627891 > 627891.svg -d N 分析持续时间(以秒为单位)。如果未提供启动,恢复,停止或状态选项,则探查器将运行指定的时间段,然后动停止。 -i N 设置分析间隔(以纳秒或者毫秒等作为单位),默认分析间隔为10ms。 -o 转储文件的格式。 等待15s,就会产生结果,生成 627891.svg 文件。vim 627891.svg 并删除第一行,然后下载到本地并使用浏览器打开。 结果如下图,此图俗称火焰图,主要看每个方法的横轴长度,占用横坐标越长的操作,其占用的 cpu 即最长,很直观的。 9.2 性能黑点分析 我们首先发现下图红框内的代码存在严重的性能问题。在append的过程中,获取线程 stack 的过程耗时比较大。从火焰图中分析,耗时占据了接近50%的是,一个logger操作...阅读全文

博文 2022-03-11 10:05:09 博客园

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.listwget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpgapt -y update && apt -y dist-upgradeapt install -y proxmox-ve postfix open-iscsiapt remove os-prober 安装好了后,使用浏览器访问 https://:8006,访问会提示证书不被信任,这是正常的,因为是主机...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

kubelet 中垃圾回收机制的设计与实现

kubernetes 中的垃圾回收机制主要有两部分组成:一是由 kube-controller-manager 中的 gc controller 动回收 kubernetes 中被删除的对象以及其依赖的对象;二是在每个节点上需要回收已退出的容器以及当 node 上磁盘资源不足时回收已不再使用的容器镜像;本文主要分析 kubelet 中的垃圾回收机制,垃圾回收的主要目的是为了节约宿主上的资源,gc controller 的回收机制可以参考以前的文章 garbage collector controller 源码分析。kubelet 中与容器垃圾回收有关的主要有以下三个参数:--maximum-dead-containers-per-container: 表示一个 pod 最多可以保存多少个...阅读全文

博文 2021-02-05 17:48:22 知乎

influxdb内存消耗分析及性能优化【探索篇】

influxdb中数据库名 use iot_cloud #修改保留策略为周期为3天,每2小时一分片 alter retention policy rp_iot_cloud on iot_cloud duration 3d REPLICATION 1 SHARD DURATION 2h default调整为2小时一分片之后,SHR内存峰值会减少10-15g左右的占用。但是缩短分片间隔之后,influxdb会更频繁的进行内部检及数据压缩,会造成cpu及磁盘io的消耗。所以继续考虑SHR占用较大对系统会有什么影响?应用程序在启动之后,会共享系统一些内存:堆内存(共享函数库消耗的堆空间)文件缓存(从磁盘读取文件进行缓存)对于共享堆内存则是必须占用的物理空间,而文件缓存则是系统针对磁盘读取的优化。目前...阅读全文

博文 2021-10-27 16:06:30 知乎