Debian 爱好者社区 为您找到相关结果 671

漫画赏析:Linux 内核到底长啥样

今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel” 。TurnOff.us 是一个极客漫画网站,作者 Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。 在开始,我们先来看看这幅漫画的貌! Inside the Linux Kernel 这幅漫画是以一个房子的侧方刨面图来绘画的。使用这样的一个房子来代表 Linux 内核。 地基 作为一个房子,最重要的莫过于其地基,在这个图片里,我们也从最下面的地基开始看起: Filesystem 地基(底层)由一排排的文件柜组成,井然有序,文件柜里放置着“文件”——电脑中的文件。左上角,有一只胸前挂着 421 号牌的小企...阅读全文

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

为何说微软不会基于Linux内核重构Windows

播,Windows 和 Linux 的开放源码贡献者能够共享两个生态系统的精华。 2.兼容性 目前尚不清楚如果 Windows 用户空间从 NT 迁移到 Linux 内核,是否能够保持良好的兼容性,特别是那些拥有关键任务应用、付费获取的东西。 Windows 没有像 Linux 那样严格区分内核空间和用户空间。NT 内核大约有 400 个已记录的 syscalls 以及大约 1700 个已记录的 Win32 API 调用。对于重新部署从而确保 Windows 开发者和他们工作达到预期的兼容性这是非常庞大的工作量,这完超过了 Wine 提供的修正贡献。 Linux 在 arm64 上只有 313 个 syscalls,而另一个原因是微软已经从 WSL 1 中的 syscall 翻译层...阅读全文

博文 2020-10-15 14:59:58 debian.cn

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

-versions #### API kubectl get events #### 查看事件 kubectl get nodes //获取部节点 kubectl delete node k8s2 //删除节点 kubectl rollout status deploy nginx-test 创建 kubectl create -f ./nginx.yaml #### 创建资源 kubectl create -f . #### 创建当前目录下的所有yaml资源 kubectl create -f ./nginx1.yaml -f ./mysql2.yaml #### 使用多个文件创建资源 kubectl create -f ./dir #### 使用目录下的所有清单文件来创建资源 kubectl...阅读全文

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

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

工作。通过使用 Informer,不同的 Controller 之间以线程(Thread safety)的方式进行交互,而不必担心多个线程访问相同的资源时会产生冲突。 有关 Informer 的更多详细解析,请参考这篇文章:Kubernetes: Controllers, Informers, Reflectors and Stores Scheduler 当所有的 Controller 正常运行后,etcd 中就会保存一个 Deployment、一个 ReplicaSet 和 三个 Pod 资源记录,并且可以通过 kube-apiserver 查看。然而,这些 Pod 资源现在还处于 Pending 状态,因为它们还没有被调度到集群中合适的 Node 上运行。这个问题最终要靠调度器...阅读全文

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

协议介绍之深入了解 gRPC

大的提高一条连接上面的 stream 并发,可以考虑调大 SETTINGS_MAX_CONCURRENT_STREAMS,在 TiKV 里面,我们就遇到过这个值比较小,整体吞吐上不去的问题。 这里还需要注意,虽然一条连接上面能够处理更多的请求了,但一条连接远远是不够的。一条连接通常只有一个线程来处理,所以并不能充分利用服务器多核的优势。同时,每个请求编解码还是有开销的,所以用一条连接还是会出现瓶颈。 在 TiKV 有一个版本中,我们就过分相信一条连接跑多 streams 这种方式没有问题,就让 client 只用一条连接跟 TiKV 交互,结果发现性能完没法用,不光处理连接的线程 CPU 跑满,整体的性能也上不去,后来我们换成了多条连接,情况才好转。 Priority 因为一条连接允许多个...阅读全文

博文 2017-06-22 11:08:48 debian.cn

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

个容器就可以跑起来,而不用知道它的节点在哪里,即 Serverless 形态。一旦这种技术更加成熟,对容器技术的落地也有很大的推动作用。另一方面,Serverless 形态也给用户节省了大量的成本,按需付费,免去用户的运维成本。我觉得 K8S 的落地已经是个趋势了,是不可避免的,但是 K8S 本身是要往前进步,它的革命还没有完成。 容器与 Serverless:覆盖场景不同,非替换关系 记者:你觉得现在目前 Serverless 的发展对于容器这种创新技术的迭代升级有什么影响?是不是可以让容器更加的轻量化? 叶理灯:不完是这样,其实 Serverless 刚出现的时候是针对计算的。计算分很多层次,有物理机、虚拟机、容器和 Serverless。Serverless 刚出来的时候,它等同于...阅读全文

博文 2019-06-14 08:28:49 debian.cn

域名与商标: 如何防止域名被仲裁

域名,是用以简化记录服务器IP地址的马夹,所以,域名只有通过解析到具体的IP地址才能访问网站,就相当于给IP地址穿上的一件马夹,避免我们去记那一长串的数字。可以说,域名的价值是依托于服务器的,没有域名的服务器,可以用IP地址访问,而不解析的域名,就仅仅只是一串字符而已。 商标,是用以区分商品(或服务)来源的一种显著标志,不同公司提供的相同商品,对于大众而言,商品上印刷的标志,代表的就是不同公司。商标的价值,是依托于产品和公司的。 由这一点来看,商标和域名是有其相似性的,广义上来说,它们都是一种指代的符号而已。 但是,域名由于其技术特性,它是虚拟的和球唯一的,同样的域名不可能同时被两个人注册,它遵循着先注先得的原则,而商标,则允许在不同领域,由不同的人持有相同的商标,比如中国的“中华...阅读全文

博文 2019-01-18 14:59:59 debian.cn

粘合万种芯片的“万能胶” 是摩尔定律的续命丹吗? - 硬件

更早之前,AMD在其EYPC系列CPU中,也用到了"黏合"这一步骤,让芯片设计成本减少一半。自家芯片的“黏合”似乎已经不成问题,那么能否从球市场上挑选出性能最优的芯片黏合在一起,创造出更强大的芯片?几周前,能够实现芯片互连的"万能胶"出现了,英特尔、AMD、台积电等芯片公司联合成立小芯片互连产业联盟,定制UCIe 1.0(Universal Chiplet Interconnect Express)标准。如果将同一家芯片公司的互连方式(例如英伟达的NVlink)视为只能黏合一种材质且功能单一的胶水,那么UCIe标准的提出则意味着能够实现各种芯片互连的芯片万能胶的雏形初现。芯片万能胶,是否已经有足够的能力替代不断微缩的晶体管,成为摩尔定律的"续命丹"?“胶水”芯片时代的真起点"胶水"芯片发...阅读全文

博文 2022-04-08 07:35:46 cnBeta.COM

最全 MongoDB 基础教程

: } ) query: update的查询条件,类似sql update查询内where后面的 update: update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的 upsert: 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入 multi: 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录部更新 writeConcern: 可选,抛出异常的级别 案例 db.ruochen.insert({ title: 'mongodb', description: 'Nosql 数据库', by...阅读全文

博文 2021-02-22 07:45:45 OSChina

架构师详解 Nginx 架构

立好需要 listen 的 socket(listenfd)之后,然后再 fork 出多个 worker 进程。所有 worker 进程的 listenfd 会在新连接到来时变得可读,为保证只有一个进程处理该连接,所有 worker 进程在注册 listenfd 读事件前抢 accept_mutex,抢到互斥锁的那个进程注册 listenfd 读事件,在读事件里调用 accept 接受该连接。当一个 worker 进程在 accept 这个连接之后,就开始读取请求,解析请求,处理请求,产生数据后,再返回给客户端,最后才断开连接,这样一个完整的请求就是这样的了。我们可以看到,一个请求,完由 worker 进程来处理,而且只在一个 worker 进程中处理。 在 Nginx 服务器的运行过程中...阅读全文

博文 2018-05-01 23:10:47 debian.cn

基于thanos搭建分布式prometheus

: thanos receive组件需要部署N个进程组成集群,prometheus可以remote write写入数据到任意receive节点,收到写入请求的receive节点根据metrics label做哈希后计算出负责存储该部分数据的receive节点,并将数据转发过去; 同时,receive可以配置replica数量,这样的话receive会根据哈希结果将数据复制给多个receive做冗余,应该说是非常简单粗暴的复制方案吧,因为监控场景没那么严谨所以基本可用即可,查询去重和归拢则部依靠querier组件反向查询所有Receive组件搞定。 我们的选择 让prometheus直接配置remote write的方式看起来更好一些,我们只需要在启动一套thanos receive集群,然后让...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

Golang Context 探究

server 来解释, Go 服务每次都是启动一个新的 goroutine 来处理每一个请求,在这个请求的操作往往会启动新 goroutine 访问数据库或其他服务,如果此时客户端断开了连接,后续的消耗资源的操作就完没必要了。所以我们需要一个在 goroutine 之间同步取消信号,截止时间的机制或者特定请求数据。而 Context 被设计出来就是帮我们实现这个目标。 1 2 3 |-----------| |-----------| |-----------| | goroutine |-------> | goroutine |-------> | goroutine | |-----------| |-----------| |-----------| 默认 Context context 包...阅读全文

博文 2021-02-25 09:27:27 lxkaka

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

你打算在程序代码中来设置这个东西,那么可以调用mallopt(M_ARENA_MAX, xxx)来实现,由于我们AuthServer采用了预分配的方式,在各个线程内并没有分配内存,所以不需要这种优化,在初始化的时候采用mallopt(M_ARENA_MAX, 1)将其关掉,设置为0,表示系统按CPU进行自动设置。 意外发现 想到tcmalloc小对象才从线程自己的内存池分配,大内存仍然从中央分配区分配,不知道glibc是如何设计的,于是将上面程序中线程每次分配的内存从1k调整为1M,果然不出所料,再分配完64M后,仍然每次都会增加1M,由此可见,新版 glibc完借鉴了tcmalloc的思想。【原文出处: 陈斌的博客】...阅读全文

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

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

发语言。早在 2016 年,基础架构团队就已经开始基于 Golang 开发内部框架 Kite,并在 2019 年围绕性能和可扩展启动重构,使其能更好地满足业务发展和技术体系演进需求。 2020 年 10 月,Kitex 正式上线。虽然是一个新的框架,但经过一年的线上应用,目前字节跳动内部已有超过 50% 的 Golang 微服务迁移到了 Kitex。 下面是 Kitex 的一些特性: 高性能:Kitex 默认集成自研网络库 Netpoll 作为网络传输模块,性能相较使用 go net 有显著优势;除了网络库带来的性能收益,Kitex 对 Thrift 编解码也做了优化,这在之前的性能优化实践文章中有介绍。关于性能数据,可参考 https://github.com/cloudwego...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

Jono Bacon: GPL 没落了吗?

的是它不是非黑即白的,更多的时候是两者混合的灰色,很少有公司有自由软件基金会(或者类似的组织,比如软件自由保护组织)的那种纯粹的理念,因此我想那些公司也不喜欢选择和那些理念相关的协议。 我需要说明,我不是在这是说自由软件基金会以及类似的组织(比如软件自由保护组织)的错。他们有着打造完自由的软件的目标,对于他们来说,走它们选择的路十分合理。自由软件基金会以及软件自由保护组织做了了不起的工作,我将继续支持这些组织以及为他们工作的人们。我只是觉得这种对纯粹性的高要求的一个后果就是让那些公司认为自己难以达到要求,因此,他们使用了非 GPL 的其他协议。 我怀疑 GPL 的使用是随着开源软件增长而变化的。在以前,启动(开源)项目的根本原因之一是对开放性和软件自由的伦理因素的严格关注。GPL 无疑是项...阅读全文

博文 2017-08-04 08:03:43 debian.cn

运维的未来:云服务兴起,运维人员会“下岗”吗?

派的运维需负责运行该系统。 老派的运维通常是伪君子。他们主张严苛的 SDLC,然后在维护基础架构时却绕过了同样的 SDLC 。新运维意味着基础架构即代码。配置变化即代码。这两个哪个也没能免于开发人员必须遵守的 SDLC。我们编纂变更请求,使用不可改变的基础架构和 AMI。没经历此进程,我们不会把改变推送到真实环境中。同样地,我们需要对合规性和其他开发人员无法产生共鸣的 SDLC 要求进行编码,编到工具和进程中。进程记录并编纂价值。 老派运维总是同精益思维不一致。它完是中断驱动——灭火后,一个接一个解决问题。同时,取得平衡非常重要。在集成环境中,使开发者团队能够 SSH 登录进 box 中或者将调试器附加到集合上,会阻止他们正确地调试应用程序吗?会促进痛苦移位吗?在运维思维和开发思维间取得平...阅读全文

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

Go 语言的大版本更新:Go 2.0 安排上了

任何类型的向后兼容的“增量”语言特性变更,因为他们认为无论变更多么小,都要有更面的支持计划,并将 Go 2 考虑在内。 对于这些累积下来的提案,官方表示现在是时候采取行动了! 近况 本文发布时,官方表示目前在 Go 2 的提案中,大约有 120 个尚未解决且被标记为提案的 issue。这些提案都涉及到重要的库或语言特性变更,而它们通常不能与 Go 1 互相兼容。Ian Lance Taylor 和 Robert Griesemer 一直在研究这些提案,并对它们进行了分类(Go2Cleanup, NeedsDecision 等),以理解这些提案背后的含义并使它们后续更易进行。此外,他们还合并了相似的提案,并关闭了那些看似明显超出 Go 范围的提案,或者其他方面无法实现的提案。 早期出现的两个...阅读全文

中国开源人访谈系列之:清风博主

提问者为Linuxstory.org的华华,回答者即为清风博主老师。之前常逛Linux社区的同学,对这个ID应该很熟悉。 A.您与Linux的那些事 1.清风老师能简单的介绍下您自己吗? 答:中学地理老师,Linux爱好者,Gentoo用户,70后 来张几年前上课摆拍的工作照吧 2.您是因为什么喜欢上折腾Linux的呢?遇到最大的困难是什么呢? 答:说来话长。初识Linux是在参加工作近10年之后,之前都没听说过Linux。真正知道Linux,是因为自学了点asp,后来在搜索如何搭建更好的网站环境时,才知道了还有这么一个神奇的系统。2008年,有了笔记本电脑后,才尝试装,发现这个系统太适合拿来折腾了!从入门级的Ubuntu到Gentoo,桌面环境从gnome2、unity、gnome3...阅读全文

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

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

位是否为1。 FD_SET(int fd,fd_set*set) 用来设置描述词组set中相关fd的位,即将bitmap结构中某一位设置为1,索引值为fd。 FD_ZERO(fd_set *set) 用来清除描述词组set的部位,即将bitmap结构部清零。 首先来看一段服务端采用了select模型的示例代码: //创建server端套接字,获取文件描述符 int listenfd = socket(PF_INET,SOCK_STREAM,0); if(listenfd < 0) return -1; //绑定服务器 bind(listenfd,(struct sockaddr*)&address,sizeof(address)); //监听服务器 listen(listenfd,5...阅读全文

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

Debian 向左:或将迎来根本性改革 - OSCHINA

Debian 的不舍和热爱。 “如果说我在 Debian 的18年有什么遗憾的话,那就是在 Debian 章程最初制定的时候,尽管感觉到了不妥,但我没有发声。” 同样地,当初 Michael Stapelberg 离开 Debian 也没有“脱粉回踩”,他只是希望自己的文章能激励 Debian 做出改变,继而改进开发者参与维护的体验。 因此,他在博客中苦口婆心地列举出 Debian 的问题(包括包的上传问题、bug追踪问题、邮件列表归档问题等等),然后再给出自己的解决方案。比如他认为,项目应该努力实现更多的统一;Debian 文化需要从“这个包归我管,你不能碰”转变为共同的所有权意识等等。 1993年9月15日,Debian 0.01版发布至今,Debian 已经经历了近三十个春秋。一个完没有盈利组...阅读全文

博文 2021-12-06 13:55:01 中文开源技术交流社区

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

3,5的数额等;2、填写二维数组第一列时,代表到用到面额为i时,剩余数额为0,即只用i就可以组成相应数额,这也是一种方法,所以第一列的值,第一个为0,后面为1. public static int SmallMoney(int num[],int target) { int m = num.length; int dp[][] = new int[m][target+1]; dp[0][0] = 1; for(int i=1;i<=target;i++){ if(i%num[0] == 0){ dp[0][i] = 1;//第一行数值填写 }else{ dp[0][i] = 0; } } for(int i=0;i阅读全文

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