InfraPub 为您找到相关结果 91

提前尝鲜,从 Debian 10 升级到 Debian 11

deb http://ftp.debian.org/debian bullseye-backports main contrib non-free 按 Ctrl + O 保存文件,按 Ctrl + X 退出 nano。 更新一次系统仓库列表,以验证仓库的添加情况。 sudo apt update 如果上面的命令没有出现任何错误,那么你已经成功地添加了 bullseye 仓库。 现在,通过运行下面的命令开始升级过程。基本安装的下载大小约为 1.2GB。这可能会根据你的系统配置而有所不同。 sudo apt full-upgrade 这个命令需要时间。但不要让系统无人看管。因为升级过程中需要各种输入。 完成后,你可以用以下命令重启系统。 systemctl reboot 重启后,运行以下命令,以确保...阅读全文

博文 2021-08-16 12:16:21 Debian升级

如何在 Debian 上安装 TensorFlow

力,tensorflow请安装tensorflow-gpu包含GPU支持的软件包。 可输入以下命令以安装 TensorFlow: pip install --upgrade tensorflow 在虚拟环境中,可以使用pip代替pip3和python代替python3。在撰写本文时,TensorFlow的最新稳定版本是2.0.0。到此,你的Tensorflow便安装完成了。 如果不熟悉TensorFlow,请访问TensorFlow教程页面并了解如何构建您的第一个ML应用程序。您还可以从Github 克隆TensorFlow模型或TensorFlow-Examples存储库,并探索和测试TensorFlow示例。 如果要退出Python的虚拟环境,可以使用deactivate命令,返回到此前...阅读全文

Focalboard :一款开源、本地存储、免费的类 Notion 应用

是为团队协作所提供的自托管服务器版本。界面语言:这款开源软件的开发者是 Chen-I Lim,看名字应该是国人或者华裔。可能因为如此,这款还在不断更新的开源软件,提供了简体和繁体中文语言。在实际测试中,繁体设置正常,简体设置暂时不起作用。使用体验:Focalboard 应该还属于 Beta 阶段,在Mac 平台上操作会出现闪退等 Bug. 推荐暂时体验,等产品优化一小段时间后使用。如果你的工作环境对公网服务有所限制,需要本地存储、离线版的、类Notion的项目管理软件,那么 Focalboard 值得你考虑。参考链接Focalboard官网Focalboard Github 地址NotionAnytype...阅读全文

博文 2021-09-16 19:50:29 少数派

Debian Live 项目的剧变

一个一直不为人所知的计划。从 Banumann 的角度来说,他当然不是完美的,他因为上传个不合适的 syslinux 包导致了 wheezy 的延迟发布,并且从那以后他被从 Debian 开发者暂时降级为 Debian 维护者。但是这不意味着他应该受到这种对待。当然,这个项目还有其他人参与,所以不仅仅是 Baumann 受到了影响。 Ben Armstrong 是其他参与者中的一位,在这个事件中,他很圆滑地处理了一些事,并且想从这个事件中全身而退。他从一封邮件13开始,这个邮件是为了庆祝这个项目,以及他和他的团队在过去几年取得的成果。正如他所说, Debian Live 的下游项目列表是很令人振奋的。在另一封邮件中,他也指出了这个项目不是没有生命力的: 如果 Debian CD 开发团队通过...阅读全文

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

Web前端知识体系精简

认为缓存已经过期(可能缓存还没有过期),在请求中加上字段:Cache-Control:max-age=0,发包向服务器查询是否有文件是否有更新。 强制刷新页面(Ctrl+F5),浏览器会直接忽略本地的缓存(有缓存也会认为本地没有缓存),在请求中加上字段:Cache-Control:no-cache(或 Pragma:no-cache),发包向服务重新拉取文件。 6、History操作 用户访问网页的历史记录通常会被保存在一个类似于栈的对象中,即history对象,点击返回就出栈,跳下一页就入栈。 它提供了以下方法来操作页面的前进和后退: window.history.back() 返回到上一个页面 window.history.forward() 进入到下一个页面...阅读全文

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

Debian下编译安装Golang

”(Bootstrap),也就是用Go来实现Go、用Go来编译Go。之前都是用C来实现,编译Go项目就是编译C语言。 因此,只要把源码checkout到1.4版本,就可以不需要依赖于Go自身,解决自我依赖悖论。 git checkout go1.4 ./all.bash 二次编译错误:import cycle not allowed import cycle not allowed package ./cmd/dist imports bytes imports errors imports runtime imports runtime/internal/atomic imports runtime Go不支持循环导入,不知算进步还是退步。 不过,这里倒是体现了价值,提前报错。这个错误的主要原因,是编译时把...阅读全文

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

使用 tmate 分享你的终端会话

话。 如何通过 SSH 连接会话 只需要在终端上运行你从朋友那得到的 SSH 终端 ID 就行了。类似下面这样。 $ ssh session: ssh 3zSi6McGj5rkeoWIKMgumWrGr@sg2.tmate.io 如何通过 Web URL 连接会话 打开浏览器然后访问朋友给你的 URL 就行了。像下面这样。 只需要输入 exit 就能退出会话了。 [Source System Output] [exited] [Remote System Output] [server exited] Connection to sg2.tmate.io closed by remote host。 Connection to sg2.tmate.io closed。 本文参考: https...阅读全文

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

Debian Jessie、Stretch 下安装配置 PHP7.2

Surý 是 Debian PHP 软件源的官方维护者之一,所以说稳定性和安全性基本上不是问题。软件源安装的 PHP 默认以 Unix Socket 的状态运行在 /run/php/php7.2-fpm.sock,比使用 TCP 以 localhost:9000 的方式性能更好。 由于 PHP7.2 是新出的版本势必有不少的兼容性问题,我们建议等待开发者通知兼容PHP-7.2后,再进行升级,一些 PECL 扩展可能也不会及时适配该最新版。建议在你的网站业务低峰时段更新,并提前做好备份,以及回退的准备。Debian.cn 使用的是 WordPress 4.9 ,已支持 PHP7.2。 添加软件源 添加 GPG wget -O /etc/apt/trusted.gpg.d/php.gpg https...阅读全文

博文 2017-12-16 14:16:25 debian.cn

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

前两天我们才报导过 Debian 包维护者 Michael Stapelberg 因对 Debian 社区的现状不满而 宣布退出 Debian 的维护 ,该消息引发了人们对于 Debian 的担忧。11 日,邮件列表上一封标题为“Leaderless Debian”的公开信进一步加深了这种担忧。 Debian 社区目前正在进行领导人选举,3 月 3 日-10 日是候选人提名阶段,然而,截至公开信发出的 11 日,还没有一位符合资格的 Debian 开发者提交申请。 此前的 Debian 领导人 Chris Lamb 一直被寄予厚望,他已经连任了两年,但是今年他公开表示因为一些 Debian 相关的与私人的原因 不参与竞选 。 所以,现在出现了尴尬的情况:“提名期已经结束,竞选期已经开始,但...阅读全文

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

Redis 6.0.0 GA已正式发布

用于选定的前缀),但服务器端无需进行任何内存操作。此外,现在支持选择加入/退出模式,因此,对于不使用广播模式的客户端,可以将其将缓存的内容准确告知服务器,以减少无效消息的数量。从根本上说,现在该功能在需要低内存模式和需要选择性(低带宽)模式时都更好。 2.这是许多用户的旧请求。现在,Redis支持一种模式,用于复制的RDB文件会在不再有用时立即删除。在某些环境中,最好不要将数据存储在磁盘上,而要存储在内存中。 3. ACL在某些方面更好。首先,有一个新的ACL LOG命令,该命令允许查看所有违反ACL的客户端,访问不应该访问的命令,不应该访问的密钥或尝试失败的身份验证。该日志实际上位于内存中,因此每个外部代理都可以调用“ ACL LOG”以查看发生了什么。这对于调试ACL问题非常有用。 但是...阅读全文

博文 2020-05-01 09:15:09 debian.cn

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

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

bmon:一个强大的网络带宽监视和调试工具

(初学者说明:RX 表示每秒接收数据,TX 表示每秒发送数据): $ bmon bmon - Linux 带宽监视按 d 键可以查看更详细的带宽使用情况的图形化统计信息,参考下面的截图。 bmon - Detailed Bandwidth Statistics按 Shift + ? 可以查看快速指南。再次按 Shift + ? 可以退出(指南)界面。 bmon – 快速指南通过 Up 和 Down 箭头键可以查看特定网卡的统计信息。但是,要监视一个特定的网卡,你也可以像下面这样作为命令行参数指定。 选项 -p 指定了要显示的网卡,在下面的例子中,我们会监视网卡 enp1s0: $ bmon -p enp1s0 bmon – 监控以太网带宽要查看每秒位数而不是每秒字节数,可以像下面这样使用 -b...阅读全文

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

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

择合适的缓冲区大小,但不会超过此上限。-t 超时时间trz -t 30 或 tsz -t 30 xxx 等,设置超时秒数 ( 默认 20 秒 )。在超时时间内,如果无法传完一个缓冲区大小的数据则会报错并退出。设置为 0 或负数,则永不超时。异常处理方法如果 tmux 不是运行在远程服务器上,而是运行在本地电脑上,或者运行在中间的跳板机上。方案1:使用 tmux -CC 与 iTerm2 集成,请参考 iTerm2 与 tmux -CC 集成。方案2:在本地电脑上安装 trzsz-go,设置 alias ssh="trzsz ssh" 可以方便使用。如果出现了错误,且 trzsz 挂住不能动了:按组合键 control + c 可以停止服务器上的 trz 或 tsz 进程。对于 iTerm2...阅读全文

三个简单而优秀的 Linux 网络监视器

有一个网络接口,可以不带选项运行 iftop。iftop 需要 root 权限: $ sudo iftop 当你有多个接口时,指定要监控的接口: sudo iftop -i wlan0 就像 top 一样,你可以在运行时更改显示选项。 h 切换帮助屏幕。 n 切换名称解析。 s 切换源主机显示,d 切换目标主机。 s 切换端口号。 N 切换端口解析。要全看到端口号,请关闭解析。 t 切换文本界面。默认显示需要 ncurses。我认为文本显示更易于阅读和更好的组织(图1)。 p 暂停显示。 q 退出程序。 图 1:文本显示是可读的和可组织的。 当你切换显示选项时,iftop 会继续测量所有流量。你还可以选择要监控的单个主机。你需要主机的 IP 地址和网络掩码。我很好奇 Pandora 在我那可...阅读全文

博文 2017-11-07 00:07:38 debian.cn

如何在 Debian 中安装 DHCP 服务器

保存文件并退出。重启网络服务(或重启系统): ------------ SystemD ------------ $ sudo systemctl restart networking ------------ SysVinit ------------ $ sudo service networking restart 另外你也可以使用 GUI 来在进行设置,如截图所示(在 Fedora 25 桌面中)设置将方式设为自动(DHCP)。 在 Fedora 中设置 DHCP 网络 此时,如果所有设置完成了,你的客户端应该可以自动从 DHCP 服务器接收 IP 地址了。 就是这样了!在本篇教程中,我们向你展示了如何在 Ubuntu/Debian 设置 DHCP 服务器。在反馈栏中分享你的想法。如...阅读全文

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

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

严格保护的态度,未满16周岁儿童的个人信息,原则上只有获得监护人的授权才可以被处理。 第8条:直接向儿童提供信息社会服务的,只有对16周岁以上儿童的个人数据处理合法。儿童未满16周岁时,处理在征得监护人同意或授权的范围内合法。成员国可通过法律对上述年龄进行调整,但不得低于13岁。考虑现有技术,控制者应当做出合理努力证明此情况下已取得监护人同意或授权。 4.2 CCPA的规定——分情况讨论的“退出权”(Opt-Out) CCPA第1798.120条(c)将儿童的权利分成13周岁以下和13-16周岁两种情况讨论: (1) 若儿童未满13周岁,则只有在其父母或者监护人授权的情况下,企业才能向第三方出售该儿童的个人信息; (2) 若儿童满13周岁但未满16周岁,则只要儿童自己明确授权,企业就可向第三...阅读全文

谷歌开源了代码评审规范:好坏代码应这样来判断

审 代码评审者指南本来是一个完整的文档,但作者将其分为了 6 部分,读者可根据需要阅读。 代码评审标准代码评审希望达到什么在代码评审中导航 CL代码评审的速度如何写审查的评论处理代码评审的回退 2.CL 作者指南——CL 作者批准代码的评审指南 CL 制定者指南包括一些进行代码评审的开发人员的最佳经验,这些经验能够帮助你更快、更高质量地完成评审。 写一个好的 CL 描述构建一些小的 CL如何处理代码评审者的评论 在谷歌看来,代码审核的目的是确保谷歌代码库的整体代码健康程度。谷歌将以下规则作为代码评审的标准: 一般来说,一旦 CL 能提升整体代码的健康程度,那么即使 CL 不完善,评审者同样也应该倾向于批准该列表。这是所有代码评审指南中的高级原则。它也会有一些限制,例如,如果 CL 添加了一些...阅读全文

博文 2019-09-10 17:19:13 debian.cn

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

kubectl rolling-update python-v1 python-v2 --image=image:v2 #### 更新资源名称并更新镜像 kubectl rolling-update python --image=image:v2 #### 更新 frontend pod 中的镜像 kubectl rolling-update python-v1 python-v2 --rollback #### 退出已存在的进行中的滚动更新 cat pod.json | kubectl replace -f - #### 基于 stdin 输入的 JSON 替换 pod 强制替换,删除后重新创建资源。会导致服务中断。 kubectl replace --force -f ./pod.json 为...阅读全文

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

阿里巴巴版 JDK 首发 GA 版 生产环境可用

退优化”已编译的方法,重新开始编译,反而恶化了状况。由此可见,如何准备预热数据其实是一个挺复杂的问题,在实际运维中还没有很好的解决方法。 Dragonwell 提出的 JWarmUp 技术从 JVM 层面解决这一痛点,基本原理是利用之前运行的情况找到热点方法和 java class 信息。之后,JVM 运行实例利用上次的信息来预热,不需要通过人为数据预热。收集热点的实例可以有多种选择,例如在应用集群中选择一个节点,也可以在发布过程中选择一个 beta 发布阶段来收集。相比之前“人为数据”的方式,主要有如下优势: 收集热点时可以利用真实数据,达到更好的编译效果。加速预热过程。由于热点方法可以在加载后直接编译,节省解释执行,profiling 等过程。 该功能在 specjvm 的基准测试中对于...阅读全文

博文 2019-07-11 10:24:52 debian.cn

Kubernetes源码探疑:Pod IP泄露排查及解决方法

SPEC期望状态做同步。下面源码流程图可以总结上述流程。 SyncPod:我做错了什么? SyncPod首先计算Pod中所有容器的当前状态与该Pod API期望状态做对比同步。这一对比同步分为两个部分: 检查podCache中的Sandbox容器的状态是否满足此条件:Pod中有且只有一个Sandbox容器,并且该容器处于运行状态,拥有IP。如不满足,则认为该Pod需要重建Sandbox容器。如果需要重建Sandbox容器,Pod内所有容器都需要销毁并重建。检查podCache中非Sandbox容器的运行状态,保证这些容器处于Pod API Spec期望状态。例如,如果发现有容器主进程退出且返回码不为0,则根据Pod API Spec中的RestartPolicy来决定是否重建该容器。 回顾前面提到...阅读全文

细数k8s支持的4种类型的container - 侃豺小哥

初始化容器,该容器要等到API准备好后才能成功退出。只有在初始化容器成功完成其工作之后,应用程序容器才会启动。 初始化容器不能像应用程序容器那样使用运行状况和就绪探针。原因是它们要成功启动和退出,就像Jobs和CronJobs的行为一样。 同一Pod上的所有容器共享相同的卷和网络。您可以利用此功能在应用程序及其初始化容器之间共享数据。 正如我们刚刚讨论的那样,init容器总是比同一个Pod上的其他应用程序容器先启动。结果,调度程序对init容器的资源和限制赋予了更高的优先级。必须仔细考虑这种行为,因为这可能会导致不良后果。例如,如果您有一个初始化容器和一个应用程序容器,并且将初始化容器的资源和限制设置为高于应用程序容器的资源和限制,那么只有在有一个可用节点满足初始化的情况下,才调度整个Pod...阅读全文

博文 2021-08-20 11:45:32 博客园

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

,域名权与商标权、商号权、名称权不可避免地会产生冲突。这类情况相对比较复杂和不确定性,理论上,任何一个域名都有产生权利冲突的可能性。 在权利冲突上,仲裁机构还是会充分尊重域名作为独立知识产权的权利和它的先得原则。也就是说,如果域名的注册时间先于商标、商号或名称的启用时间,或者域名的使用区别于现有商标、商号或名称的经营范围的,域名所有权将不受影响。举个例子,alichat域名,阿里巴巴为何不通过仲裁而是出收购,就是因为alichat域名在阿里的Chat业务启动前就已经存在,阿里即使仲裁,也不会被支持。 对于权利冲突类域名,经咨询相关法律专业人士,认为一般有以下争议解决办法: 1、注册在先,即域名的先得原则2、否认声明,在域名对应的网站上,声明自已域名的使用范围和商品类别,或者声明自已的域名与他...阅读全文

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

译:Kubernetes 最佳实践

探针则不会生效。译者:还有一点尽量为 Pod 内的所有容器都定义探针。使用自动缩放在适当的情况下,可以使用自动缩放来动态调整 pod 的数量(Pod 水平自动缩放器,HPA)、pod 消耗的资源量(Pod 垂直自动缩放器, VPA)或集群中的节点数量(集群自动缩放器,CA),具体取决于 对资源的需求。Pod 水平自动扩缩器还可以根据 CPU 需求扩展复制控制器、副本集或有状态集。使用缩放也带来了一些挑战,例如不在容器的本地文件系统中存储持久数据,因为这会阻止水平自动缩放。相反,可以使用 PersistentVolume。当集群上存在高度可变的工作负载并且可能根据需求在不同时间需要不同数量的资源时,集群自动缩放器非常有用。 自动删除未使用的节点也是省的好方法!译者:更多自动缩放的内容,可以浏...阅读全文

博文 2022-09-13 19:32:21 atbug.com

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

送下一条消息。这种情况下,如果follower没有成功备份数据,而此时leader又挂掉,则消息会丢失。 (3)acks=-1或all: 这意味着leader需要等待所有备份(min.insync.replicas配置的备份个数)都成功写入日志,这种策略会保证只要有一个备份存活就不会丢失数据。这是最强的数据保证。一般除非是金融级别,或跟打交道的场景才会使用这种配置。当然如果min.insync.replicas配置的是1则也可能丢消息,跟acks=1情况类似。 消息消费端: 如果消费这边配置的是自动提交,万一消费的数据还没处理完,就自动提交offset了,但是此时你consumer直接宕机了,未处理完的数据丢失了,下次也消费不到了。所以消费端也要设置为手动提交; 2.1.2 消息重复消费...阅读全文

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

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

标准外,还需要选择一个易于扩展的框架。随着微服务的发展,企业需要越来越多的“开箱即用”功能,发展的同时,为系统增加了更多的复杂性。因此企业希望的功能包括: 异常处理 - 在请求级别提供一个处理异常的机制。它允许捕获有关请求的重要上下文元数据,例如发出请求的用户,可以用例外报告。我们使用Bugsnag轻松地监视这些异常。 智能重试 - 在特定条件下重试请求,例如仅在5xx状态码上。这包括支持各种退避策略,如指数退避。 服务发现配置 - 将通信框架连接到流行的服务发现应用程序(如Zookeeper,Eureka或Consul)的选项可以提供一种快速简便的解决方案,以绕过企业的架构来请求路由。 度量、跟踪和日志记录 - 可观察性对于复杂的分布式系统是必不可少的,但是应该小心监视的内容。在服务边界自...阅读全文

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

Apache Flink 1.14 新特性预览 - OSCHINA

束的。上游的 Task 有可能先处理完任务提早退出了,但下游的 Task 却还在执行中。在同一个 stage 不同并发下,有可能因为数据量不一致导致部分任务提早完成了。这种情况下,在后续的执行作业中,如何进行 Checkpoint? 在 1.14 中,JobManager 动态根据当前任务的执行情况,去明确 Checkpoint Barrier 是从哪里开始触发。同时在部分任务结束后,后续的 Checkpoint 只会保存仍在运行 Task 所对应的 stage,通过这种方式能够让任务执行完成后,还可以继续做 Checkpoint ,在有限流执行中提供更好的容错保障。 ■ Task 结束后的两阶段提交 我们在部分 Sink 使用上,例如下图的 Kafka Sink 上,涉及到 Task 需要...阅读全文

博文 2021-09-05 07:26:58 中文开源技术交流社区

Ceph 12.2.0 正式版本发布, 代号 Luminous

SSD来调整其默认配置。一般不需要手动调整。 原型mclock QoS排队算法已经可用。 新增一种退出机制,可以防止OSD出现对当前不能处理IO对象或PG的请求过载情况。 OSD更换过程简化,变得更加强大了。 您可以使用ceph功能来查询所有连接的后台程序和客户端的支持功能和版本。 通过ceph osd set-require-min-compat-client连接到集群,您可以配置最旧的Ceph客户端版本,但 Ceph将阻止您启用会破坏与这些客户端的兼容性的功能。 包括osd_recovery_sleep,osd_snap_trim_sleep和osd_scrub_sleep的几个睡眠设置,已经被重新实现,并且可以有效地工作。(这些在某些情况下用于解决问题,限制后台工作。) 完成对...阅读全文

博文 2017-08-31 13:36:49 debian.cn

Debian 9.3上安装和配置 Observium 监控平台

命令退出MySQL shell: MariaDB [(none)]>\q 下载并安装Observium Observium有两个版本:开源版本和订阅版本,开放源代码版本可以免费下载,功能较少,安全修复程度较低,而订阅版本则附带额外的功能和硬件支持。 您可以使用以下命令从官方网站下载Observium的开源版本: wget http://www.observium.org/observium-community-latest.tar.gz 下载后,使用以下命令提取下载的存档: tar -xvzf observium-community-latest.tar.gz 接下来,将提取的目录复制到Apache Web根目录: cp -ar observium /var/www/html/ 接下来,重命...阅读全文

博文 2017-12-30 11:35:21 debian.cn

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

/src:grub2) | 非交互式升级 grub-pc 时,如果 grub-install 失败则退出;运行 grub-install 前明确检查目标设备是否存在; grub-install。增加备份和恢复功能;不要在刚安装 grub-pc 时调用 grub-install | | [highlight.js](https://packages.debian.org/src:highlight.js) | 修复原型污染[CVE-2020-26237] | | [intel-microcode](https://packages.debian.org/src:intel-microcode) | 更新各种微码 | | [iproute2](https://packages.debian.org...阅读全文

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

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

。比如它的线程优先级太低,而高优先级的线程不断抢占它所需的资源,导致低优先级资源无法工作。 3、活锁的情况是线程一种非常有趣的情况,在生活中我们可能会碰到这样的情况,那就是出门的时候可能会遇到有人要进门,你打算让他先进门,他又打算让你先出门,结果,两个人都互相退后了,然后你打算先出门时对方也向前一步,来来回回就一直卡在门口。当然,这种事情正常人很快就能解决,但如果是线程碰到就没那么幸运了。 如果两个线程占用着公共的资源,并且秉承着 “谦让” 的原则,主动把资源让给他人使用,你让我也让,这样就造成资源在两个线程间不断跳动但线程之间都拿不到资源的情况,这样的情况就是活锁了。 线程安全 线程安全指的是多线程的安全。如果一段程序可以保证被多线程访问后仍能保持正确性,那么程序就是线程安全的。一般来说,线...阅读全文

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

架构师详解 Nginx 架构

主进程(master process)生成一个子进程(worker process)出来和客户端建立连接进行交互,直到连接断开,该子进程就结束了。使用进程的好处是各个进程之间相互独立,不需要加锁,减少了使用锁对性能造成影响,同时降低编程的复杂度,降低开发成本。其次,采用独立的进程,可以让进程互相之间不会影响,如果一个进程发生异常退出时,其它进程正常工作,master 进程则很快启动新的 worker 进程,确保服务部中断,将风险降到最低。缺点是操作系统生成一个子进程需要进行内存复制等操作,在资源和时间上会产生一定的开销;当有大量请求时,会导致系统性能下降。 异步非阻塞 每个工作进程使用异步非阻塞方式,可以处理多个客户端请求。当某个工作进程接收到客户端的请求以后,调用 IO 进行处理,如果不能...阅读全文

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

提问的智慧 – 全文

得不到回答 如果得不到回答,请不要认为我们不想帮你,有时的确是因为被问到的小组成员不知道答案。没有回复不等于不被无视,当然,必须承认从外部很难看出两者的差别。 一般而言,不要在再重复发表这个问题,这会被视为毫无意义的骚扰。耐心一点,知道你问题答案的人可能生活在不同的时区,有可能正在睡觉,也有可能你的问题一开始就没有组织好。 还有其它信息源可以寻求帮助,例如一些面向新手的资源区。 有许多在线与本地的用户组织,虽然他们自己不编写任何软件,但是他们对软件很忠诚热心。这些用户组通常因互助和帮助新手而形成。 还有众多大小商业公司提供签约支持服务(红帽与SpikeSource是两家最出名的,还有许多其它的)。别因为要付点才有支持就感到沮丧!毕竟,如果你车子的汽缸垫烧坏了,你还是得花找个修理店把它弄好...阅读全文

博文 2009-10-01 13:18:00 debian.cn

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

代表cpu使用的时间。例如: 九、Async-profiler的使用 和 火焰图分析 背景: 目前有一个kafka消费者工程,此工程会消费kafka中的消息,并通过fastjson解析该消息为java实体,然后存入到阻塞队列 BlockingQueue中。另外有若干个线程会从queue中批量拿消息,然后以批量形式写入到 elasticsearch 中。目前在使用中发现存在性能瓶颈,需要定位是该工程对消息转化处理较慢,还是写es操作比较慢。 9.1采集cpu profile数据 我们将代码回退到第一次测试的情况,并启动程序,并找到当前进程号(627891),然后通过如下命令进行采集,并转换为火焰图格式 svg。 ./profiler.sh -d 15 -i 50ms -o svg -e cpu...阅读全文

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

深入理解Golang之context

++ { messages <- i } time.Sleep(5 * time.Second) close(done) time.Sleep(1 * time.Second) fmt.Println("main process exit!") } 上述例子中定义了一个buffer为0的channel done, 子协程运行着定时任务。如果主协程需要在某个时刻发送消息通知子协程中断任务退出,那么就可以让子协程监听这个done channel,一旦主协程关闭done channel,那么子协程就可以推出了,这样就实现了主协程通知子协程的需求。这很好,但是这也是有限的。如果我们可以在简单的通知上附加传递额外的信息来控制取消:为什么取消,或者有一个它必须要完成的最终期限,更或者有多个取消选项,我们需要根据额外的信息来判断...阅读全文

博文 2021-01-27 09:05:27 知乎

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

Garrett 在2006年就指出了 Debian 决策效率低下的痛点,而他曾任 Debian Project Leader(简称 DPL,是 Debian 的项目负责人)。 Joey Hess 是 Debian 中的元老,颇具影响力 不过话说回来,Debian 毕竟是个志愿者组织,社区的事情会被成员放在较后的优先级上,效率自然低下。况且,Debian 组织庞大,事情也不像只有十余名维护者的开源社区一样好解决。 但是,同样的问题引来了更多的人离开。2019年3月,一位名为 Michael Stapelberg 的 Debian 包维护者在其个人博客发表了一篇长文,宣布退出 Debian 的维护。他的文章引起了 Debian 社区内外的广泛关注。 Stapelberg 提到了几个星期前参加 Debian...阅读全文

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

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

。FSF 是 Debian 的赞助者,所以自然对我有所期望;但同时我在要求别人在闲时帮忙开发 Debian,所以那些人对我自然也有期望。有时候这两边的期望会出现分歧,我无法两边都满足。」 就这样,Debian 和 FSF 的正式合作关系画上了句号。不过 Murdock 始终都非常强调 Stallman 为 Debian 做出的贡献: 倘若没有他,没有他过去 15 年内从未动摇的坚定立场,我们也就不会有如今「免费软件」的理念。 不久之后,1996 年 3 月,Murdock 决定辞退 Debian 项目领导人的身份。 我最近结婚了,我想花更多的时间陪伴我的家人。我已经为 Debian 埋头苦干了三年,我想我也是时候开始新的生活了。 在我们 1999 年面谈的时候,Murdock 表示他看到...阅读全文

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

Monit:开源服务器监控工具

CHECK PROGRAM PATH [TIMEOUT SECONDS] 是可执行程序或脚本的绝对路径。该状态测试允许一个检查程序的退出状态。如果程序没有在秒内完成执行,Monit将终止它。默认程序超时为300秒(5分钟)。程序的输出被记录并在用户界面和警报中可用,默认情况下最大为512B。您可以使用set limits语句自定义限制。 网络 CHECK NETWORK

| INTERFACE > 是受监视网络接口的IPv4或IPv6地址。也可以在Linux上使用接口名称,例如“eth0...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

“Debian 章程有毒” - OSCHINA

人物的上门,也让 Joey 觉得非常不可思议。 年轻时的 Joey Hess 穿着 Debian 文化衫 可惜的是,1997年12月,Bruce Perens 就从 Debian 当家的位置退了下来,与另一位声名显赫的人物 Eric Raymond 一起创立了 OSI (Open Source Initiative),成为了开源的开拓者。 当时,Debian 社区内有一些争议声音表示,Bruce Perens 是个独裁者,一手包揽了所有事情。因此,Bruce Perens 离开之后,Debian 开始制定 Debian 章程(Debian Constitution),来制约领导人的权利。 2014年,针对是否采用 systemd 这种 init 进程,Debian 内部开始一场持久且激烈的争...阅读全文

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

深入了解Docker背后的namespace技术

,OS里指进程识别号)namespace是划分那些一个进程可以查看并与之交互的PID的方式。当我们创建一个新的 PID namespace时,第一个进程的PID会被赋值为1。进程退出时,内核会杀死这个namespace内的其他进程。让我们来通过制作 skeleton.c副本开始我们的改变。 > cp skeleton.c pid.c 创建一个新的 PID namespace,我们需要设置clone_flags为 CLONE_NEWPID. 该变量应该看起来像int clone_flags = CLONE_NEWPID | SIGCHLD;,我们在shell中运行 ps aux,然后以相同的参数编译和运行我们的pid.c二进制文件。 > ps aux USER PID %CPU %MEM VSZ...阅读全文

博文 2015-05-17 10:03:00 debian.cn

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

发送Fetch请求后,在超时阈值quorum.fetch.timeout.ms之后仍然没有得到Fetch响应,表示Leader疑似失败。从当前Leader收到了EndQuorumEpoch请求,表示Leader已退位。Candidate状态下,在超时阈值quorum.election.timeout.ms之后仍然没有收到多数票,也没有Candidate赢得选举,表示此次选举作废,重新进行选举。具体详细过程实现描述如下:增加节点本地的current term,切换到candidate状态。自己给自己投一票。给其他节点发送RequestVote RPCs,要求其他节点也投自己一票。等待其他节点的投票回复。整个过程中的投票过程可以用下图进行表述。leader节点选举的限制每个节点只能投一票,投给自...阅读全文

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