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

理解 Linux 的虚拟内存

有些矛盾。于是翻一下资料重新整理一下这些知识,希望下次在用到它们时能更顺畅。转载随意,请注明来源,文章持续修订。 由来 虚拟内存 毋庸置疑,虚拟内存绝对是操作系统中最重要的概念之一。我想主要是由于内存的重要”战略地位”。CPU太快,但容量小且功能单一,其他 I/O 硬件支持各种花功能,可是相对于 CPU,它们又太慢。于是它们之间就需要一种润滑剂来作为缓冲,这就是内存大显身手的地方。 而在现代操作系统中,多任务已是标配。多任务并行,大大提升了 CPU 利用率,但却引出了多个进程对内存操作的冲突问题,虚拟内存概念的提出就是为了解决这个问题。 虚拟内存简单直观的解释 操作系统有一块物理内存(中间的部分),有两个进程(实际会更多)P1 和 P2,操作系统偷偷地分别告诉 P1 和 P2,我的整个内存...阅读全文

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

如何使用 journalctl 清理 journal 日志

在CentOS 7开始使用的systemd使用了journal日志,这个日志的管理方和以往使用syslog的方不同,可以通过管理工具维护。 使用df -h检查磁盘文件,可以看到/run目录下有日志目录/run/log/journal,占用了数G空间 Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 8.5G 4.2G 4.4G 49% / tmpfs 16G 1.6G 15G 11% /run 在日志目录下有很多历史累积的日志。 检查当前journal使用磁盘量 journalctl --disk-usage 清理方法可以采用按照日期清理,或者按照允许保留的容量清理 journalctl...阅读全文

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

深入了解Docker背后的namespace技术

的demo之一,同时它会产生一个shell会话,这样你就可以在你的namespace中“闲逛”。你可以自己的方探索与检查这些不同的namespace。因此让我们复制这个文件,并开始使用network namespace。 > cp skeleton.c network.c 在这个文件里有一个很特殊的变量,叫做clone_flags,大部分的变化将在此处发生。namespace主要由clone标志控制。network namespace的clone标记是CLONE_NEWNET。我们需要把int clone_flags = SIGCHLD;这一行改为 int clone_flags = CLONE_NEWNET | SIGCHLD;。这样调用clone就为我们创建一个新的network...阅读全文

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

Docker 17.06 社区版发布

时一次的频次来安排证书轮换。有了Docker CE 17.06,添加了立即强制证书轮换的一次性操作: docker swarm ca --rotate Swarm Mode事件 docker events可以用来从Docker中获取实时的信息。在编写自动化和监控应用时很有用。但是直到Dcoker CE 17.06,都不支持swarm mode的事件。现在docker events将会返回服务、节点、网络和和secret的信息。 专用的数据路线 docker init中添加了新的--datapath-addr标签,可以把swarm mode的管理任务和应用传递的数据隔离开来。这能把集群从IO贪婪的应用中拯救出来。如你用这种方初始化集群: docker swarm init...阅读全文

博文 2017-06-30 23:08:57 debian.cn

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

名示例配置文件并进行一些更改: cd /var/www/html/observium cp config.php.default config.php nano config.php 如下所示更改文件: // Database config --- This MUST be configured $config['db_extension'] = 'mysqli'; $config['db_host'] = 'localhost'; $config['db_user'] = 'observium'; $config['db_pass'] = 'password'; $config['db_name'] = 'observiumdb'; 保存文件,然后使用以下命令设置MySQL数据库的默认模...阅读全文

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

Golang Context 探究

&valueCtx{parent, key, val} } // context.valueCtx 中存储的键值对与 context.valueCtx.Value 方法中传入的参数不匹配 // 就会从父上下文中查找该键对应的值直到在某个父上下文中返回 nil 或者查找到对应的值 func (c *valueCtx) Value(key interface{}) interface{} { if c.key == key { return c.val } return c.Context.Value(key) } 在 context 传递数据的场景一般很有限,比较常见的使用场景是传递请求对应用户 token 以及用于进行分布追踪的 trace id。不建议用来传递请求参数。 我用下面这种图来展示...阅读全文

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

Java Annotations详解

三个编译注释,你可以使用它们来给编译器发送指令。这些注释会在稍后再做更详细的介绍。 Java注释可以在编译时(build-time)时使用,当你编译你的工程时。编译过程包括生成源代码,编译资源文件,生成XML文件(如:部署表述文件),以及将编译好的代码或文件打包成一个jar文件等。编译过程通常是由诸如Apache Ant或Apache Maven之类的编译工具自动完成的。编译工具会浏览你代码中的特定注释,并基于这些注释生成源代码或其他文件。 通常情况下,Java注释在代码编译完成后就变得不可见了。但是存在这种可能,你可以定义自己的注释,并使它们在运行时仍然可见。之后可以通过反射机制来访问这些注释来影响你的程序。 注释的基本知识 注释的最简单形如下: @Entity 字符@告诉编译器这是一个...阅读全文

博文 2013-03-02 08:04:55 CSDN博客

如何在 Debian 下配置邮件服务器

tcp 0 0 0 0.0.0.0:110 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:143 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:993 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 使用邮件用户代理(MUA)连接邮件服务器 邮件服务器现在可以使用了。可以在台机、笔记本电脑、平板电脑或手机上用你最喜爱的电子邮件客户端软件配置邮件账户。以下是与Mozilla Thunderbird配置参数的截图。 故障排除 日志文件/var/log/mail.log是你最好的朋友。任何的问题都可以在这里找到线索。 确保防火墙正确配置。 确保DNS服务器配置了适当的条目。 综上所述,本教...阅读全文

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

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

=4 unreachable=0 failed=0 现在初步设置已完成,您可以继续安装特定于Kubernetes的依赖项。 第3步 - 安装Kubernetes依赖项 在本节中,您将使用Debian的软件包管理器安装Kubernetes所需的操作系统级软件包。 这些包是: Docker - 容器运行时。 它是运行容器的组件。 Kubernetes正在积极开发对rkt等其他运行时的支持。kubeadm - 一个CLI工具,它将以标准方安装和配置集群的各个组件。kubelet - 一个在所有节点上运行并处理节点级操作的系统服务/程序。kubectl - 一种CLI工具,用于通过其API服务器向集群发出命令。 在工作区中创建一个名为~/kube-cluster/kube...阅读全文

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

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

关的行业,不是没想过,但已经熬不了夜了,还是多给年轻人一些机会嘛(好吧,其实是水平实在有限,啥也干不了)。 5.您使用开源软件对您的学生有没有产生影响呢? 答:对于中学生,基本没影响。一,我不是信息技术老师,只是个教地理的;二,即便是现在的中学信息技术教学,在现行的IT教育模下,也没办法施加影响。 6.电脑高手在学校,大家日常工作是怎么看您的呢?会叫您“修电脑”吗? 答:硬件维修不至于找我,还有信息技术老师呢!不过,装个系统是常有的事,或者经常被问一些软件方面的问题,你懂的,交流始终不在一个频道,不胜其烦。再者,有一次犯了强迫症,把老婆电脑的重要数据给清理掉,被下了不许碰她电脑的禁令,就更没有耐心管别人的事了。所以,强烈建议:喜欢清理电脑且有强迫症的同学(这样的人会很多吧),千万不要乱动老...阅读全文

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

三个技巧 大幅减少 Docker 镜像体积

个。 镜像的层就像 Git 的提交(commit)一样。Docker 的层用于保存镜像的上一版本和当前版本之间的差异。就像 Git 的提交一样,如果你与其他存储库或镜像共享它们,就会很方便。 实际上,当你向注册表请求镜像时,只是下载你尚未拥有的层。这是一种非常高效地共享镜像的方。但额外的层并不是没有代价的。层仍然会占用空间,你拥有的层越多,最终的镜像就越大。Git 存储库在这方面也是类似的,存储库的大小随着层数的增加而增加,因为 Git 必须保存提交之间的所有变更。 过去,将多个 RUN 语句组合在一行命令中或许是一种很好的做法,就像上面的第一个例子那样,但在现在看来,这样做并不妥。 1. 通过 Docker 多阶段构建将多个层压缩为一个 当 Git 存储库变大时,你可以选择将历史提交记录...阅读全文

博文 2018-09-06 10:50:29 debian.cn