<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>可达书院 · 文章</title>
    <link>https://www.keda.io/</link>
    <description>一个基于 Astro 构建的静态博客，以技术文章为主，日记为辅。</description>
    <language>zh-CN</language>
    <lastBuildDate>Sat, 14 Nov 2026 15:29:14 +0800</lastBuildDate>
    <atom:link href="https://www.keda.io/feed-posts.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>文件路径查找中的RCU-walk机制</title>
      <link>https://www.keda.io/%E6%96%87%E4%BB%B6%E8%B7%AF%E5%BE%84%E6%9F%A5%E6%89%BE%E4%B8%AD%E7%9A%84rcu-walk%E6%9C%BA%E5%88%B6</link>
      <guid isPermaLink="true">https://www.keda.io/%E6%96%87%E4%BB%B6%E8%B7%AF%E5%BE%84%E6%9F%A5%E6%89%BE%E4%B8%AD%E7%9A%84rcu-walk%E6%9C%BA%E5%88%B6</guid>
      <pubDate>Mon, 06 Dec 2021 15:33:15 +0800</pubDate>
      <description>文章 · 一直到现在，还是未能完全理解这个机制。现在把找到的资料汇总一下，时间允许的情况下，我会继续学习，争取把这个坑早日填上。</description>
    </item>
    <item>
      <title>关于教育的一点感想</title>
      <link>https://www.keda.io/%E5%85%B3%E4%BA%8E%E6%95%99%E8%82%B2%E7%9A%84%E4%B8%80%E7%82%B9%E6%84%9F%E6%83%B3</link>
      <guid isPermaLink="true">https://www.keda.io/%E5%85%B3%E4%BA%8E%E6%95%99%E8%82%B2%E7%9A%84%E4%B8%80%E7%82%B9%E6%84%9F%E6%83%B3</guid>
      <pubDate>Sat, 13 Nov 2021 18:54:29 +0800</pubDate>
      <description>文章 · “我在康奈尔和上海交大为大一新生讲授同样的课程。我发现上海交大的大一新生要比美国&lt;br&gt;顶尖大学的更好。但4年后，我再次面对这些中国学生时，却发现康奈尔大学的学生已经超&lt;br&gt;过了他们。这意味着中国的大学教育并不成功。”</description>
    </item>
    <item>
      <title>比喻和想象力</title>
      <link>https://www.keda.io/%E6%AF%94%E5%96%BB%E5%92%8C%E6%83%B3%E8%B1%A1%E5%8A%9B</link>
      <guid isPermaLink="true">https://www.keda.io/%E6%AF%94%E5%96%BB%E5%92%8C%E6%83%B3%E8%B1%A1%E5%8A%9B</guid>
      <pubDate>Tue, 02 Nov 2021 01:22:00 +0800</pubDate>
      <description>文章 · 最近看到马老板在twitter上发了曹植的《七步诗》搞懵一众外国网友的新闻，也顺便又重温了这首诗。也让我又想起了我在读古诗时的一个感想。那就是，很多被千古传唱的古诗文，很多使用了一个贴切又新颖或者说是天才的比喻有关。</description>
    </item>
    <item>
      <title>Linux中的select函数</title>
      <link>https://www.keda.io/linux%E4%B8%AD%E7%9A%84select%E5%87%BD%E6%95%B0</link>
      <guid isPermaLink="true">https://www.keda.io/linux%E4%B8%AD%E7%9A%84select%E5%87%BD%E6%95%B0</guid>
      <pubDate>Sun, 14 Jun 2020 23:40:24 +0800</pubDate>
      <description>文章 · 最近在排查一个用户同步数据非常慢的问题。使用perf trace -S -p $pid发现，进程的大部分时间花费在了select函数上： 凭直觉觉得有些异常。按照Linux手册上对select的说法： select() allow a program to monitor multiple file descriptors, waiting until one or more of the fil…</description>
    </item>
    <item>
      <title>bpftrace error on aliyun linux 2.0</title>
      <link>https://www.keda.io/bpftrace-error-on-aliyun-linux-2-0</link>
      <guid isPermaLink="true">https://www.keda.io/bpftrace-error-on-aliyun-linux-2-0</guid>
      <pubDate>Sun, 07 Jun 2020 17:37:39 +0800</pubDate>
      <description>文章 · 今天测试了一下aliyun Linux 2.0，想看看它自带的ebcc工具到底如何。结果在跑一个bpftrace示例脚本的时候报错。</description>
    </item>
    <item>
      <title>论斜杠青年/跨界高手，爱因斯坦和达芬奇才是鼻祖</title>
      <link>https://www.keda.io/%E8%AE%BA%E6%96%9C%E6%9D%A0%E9%9D%92%E5%B9%B4-%E8%B7%A8%E7%95%8C%E9%AB%98%E6%89%8B%EF%BC%8C%E7%88%B1%E5%9B%A0%E6%96%AF%E5%9D%A6%E5%92%8C%E8%BE%BE%E8%8A%AC%E5%A5%87%E6%89%8D%E6%98%AF%E9%BC%BB%E7%A5%96</link>
      <guid isPermaLink="true">https://www.keda.io/%E8%AE%BA%E6%96%9C%E6%9D%A0%E9%9D%92%E5%B9%B4-%E8%B7%A8%E7%95%8C%E9%AB%98%E6%89%8B%EF%BC%8C%E7%88%B1%E5%9B%A0%E6%96%AF%E5%9D%A6%E5%92%8C%E8%BE%BE%E8%8A%AC%E5%A5%87%E6%89%8D%E6%98%AF%E9%BC%BB%E7%A5%96</guid>
      <pubDate>Fri, 21 Feb 2020 17:05:25 +0800</pubDate>
      <description>文章 · 比起一味追求狭隘的专业化，培养更多兴趣爱好，就算到不了达•芬奇那样的高度，我们也会从中受益。

这项研究还发现，培养多种兴趣爱好大有裨益，例如可以提高生活满意度、改善工作效率、培养创造力等。</description>
    </item>
    <item>
      <title>lxd on Ubuntu</title>
      <link>https://www.keda.io/lxd-on-ubuntu</link>
      <guid isPermaLink="true">https://www.keda.io/lxd-on-ubuntu</guid>
      <pubDate>Fri, 01 Nov 2019 21:20:09 +0800</pubDate>
      <description>文章 · lxd是Canonical/Ubuntu发布的一个container管理工具。技术角度上说，lxd是一个后台服务进程，它的作用是提供一个REST API用于更好的管理lxc container。类似于当初的docker是一个便于使用、管理container的工具一样。</description>
    </item>
    <item>
      <title>systemtap中访问内核函数参数中的指针</title>
      <link>https://www.keda.io/systemtap%E4%B8%AD%E8%AE%BF%E9%97%AE%E5%86%85%E6%A0%B8%E5%87%BD%E6%95%B0%E5%8F%82%E6%95%B0%E4%B8%AD%E7%9A%84%E6%8C%87%E9%92%88</link>
      <guid isPermaLink="true">https://www.keda.io/systemtap%E4%B8%AD%E8%AE%BF%E9%97%AE%E5%86%85%E6%A0%B8%E5%87%BD%E6%95%B0%E5%8F%82%E6%95%B0%E4%B8%AD%E7%9A%84%E6%8C%87%E9%92%88</guid>
      <pubDate>Wed, 30 Oct 2019 19:33:30 +0800</pubDate>
      <description>文章 · 最近在排查一个文件系统相关的lock contention的问题。通过前面的排查，已经确定遇到的性能问题是lock contention导致，但却不知道究竟是哪些文件或资源导致的。 试着用ftrace，发现它无法看到内核函数调用的参数，而我们的系统还是3.10.0-1062 的内核（CentOS 7.7），bpftrace也无法使用。于是就学习了一下systemtap的用法。 我感兴趣的函数是li…</description>
    </item>
    <item>
      <title>CentOS 7.6上构建bcc-tools</title>
      <link>https://www.keda.io/centos-7-6%E4%B8%8A%E6%9E%84%E5%BB%BAbcc-tools</link>
      <guid isPermaLink="true">https://www.keda.io/centos-7-6%E4%B8%8A%E6%9E%84%E5%BB%BAbcc-tools</guid>
      <pubDate>Wed, 16 Oct 2019 00:29:29 +0800</pubDate>
      <description>文章 · \## 更新： 在CentOS 7.7中，文件已经解决。直接&amp;#96;yum install bcc-tools&amp;#96;就可以了。 目前公司的CentOS 7.6系统上已经有bcc-tools软件包了，直接yum install bcc-tools就可以。遗憾的是，安装了之后程序运行报错。 CentOS 7.6 1810, with kernel 3.10.0-957.27.2.el7.x86\…</description>
    </item>
    <item>
      <title>追踪快速消失的TCP连接</title>
      <link>https://www.keda.io/%E8%BF%BD%E8%B8%AA%E5%BF%AB%E9%80%9F%E6%B6%88%E5%A4%B1%E7%9A%84tcp%E8%BF%9E%E6%8E%A5</link>
      <guid isPermaLink="true">https://www.keda.io/%E8%BF%BD%E8%B8%AA%E5%BF%AB%E9%80%9F%E6%B6%88%E5%A4%B1%E7%9A%84tcp%E8%BF%9E%E6%8E%A5</guid>
      <pubDate>Wed, 16 Oct 2019 00:10:34 +0800</pubDate>
      <description>文章 · 有些时候，Linux系统上会发起一些TCP连接，但很快就结束。传统的netstat、ss或者lsof这类工具很难追踪到是谁（UID）或者哪一个程序（binary）发起的。我觉得perf可以追踪到，但是还不知道具体该怎么操作。</description>
    </item>
    <item>
      <title>gitlab-runner的一些问题</title>
      <link>https://www.keda.io/configuring-gitlab-runner-on-centos7</link>
      <guid isPermaLink="true">https://www.keda.io/configuring-gitlab-runner-on-centos7</guid>
      <pubDate>Sun, 13 Jan 2019 19:47:35 +0800</pubDate>
      <description>文章 · 上周折腾了一下gitlab runner的安装。遇到了一些问题，这里记录一下解决的办法，以备下次要用的时候又要再折腾一遍。 这里这个链接包含了runner的介绍，如果你对相关概念不理解，可以先过一遍： https://docs.gitlab.com/runner/ 我的环境是gitlab server企业版11.3， gitlab runner是centos 7.5 runner的安装 我用的是手…</description>
    </item>
    <item>
      <title>一个C文件IO问题</title>
      <link>https://www.keda.io/%E4%B8%80%E4%B8%AAc%E6%96%87%E4%BB%B6io%E9%97%AE%E9%A2%98</link>
      <guid isPermaLink="true">https://www.keda.io/%E4%B8%80%E4%B8%AAc%E6%96%87%E4%BB%B6io%E9%97%AE%E9%A2%98</guid>
      <pubDate>Thu, 15 Nov 2018 11:12:42 +0800</pubDate>
      <description>文章 · 作为练习，我写了下面一个用FILE stream来做读写的C程序, 就是简单的读一个给定的文件，让后将每行打印出来，就像cat命令最简单的用法。 然后编译： 运行： 发现最后一行总是出现两次。怎么回事呢？ 查了一下feof的手册才知道，当已经读到文件最后一行时，feof并不会马上返回一个非0值，或者说设置EOF标志，而是在下次调用feof时才设置EOF标志，然后再下次调用feof时才返回非零值，所…</description>
    </item>
    <item>
      <title>Ubuntu 18上USB硬盘盒的性能问题</title>
      <link>https://www.keda.io/external-usb-disk-performance-on-ubuntu-18-04</link>
      <guid isPermaLink="true">https://www.keda.io/external-usb-disk-performance-on-ubuntu-18-04</guid>
      <pubDate>Sat, 07 Jul 2018 12:23:53 +0800</pubDate>
      <description>文章 · 最近几周来我的ＵＳＢ硬盘盒性能突然急剧下降，播放上面的几百兆的影片都卡到不行，夸张的时候只要一快进就要卡住好几分钟。 因为硬盘盒里的是一块很早以前买的希捷SATA2的机械硬盘，一年前上面的hammer文件系统还出过一次故障，不得已重新格式化。就怀疑是不是又出现机械故障或者磁盘的寿命将尽。 作为测试，将这个磁盘连到Windows 10系统上，发现IO性能还可以接受，至少播放影片没有明显卡顿，快进基本…</description>
    </item>
    <item>
      <title>sigterm, systemd 以及RemainAfterexit</title>
      <link>https://www.keda.io/sigterm-systemd-and-remainafterexit</link>
      <guid isPermaLink="true">https://www.keda.io/sigterm-systemd-and-remainafterexit</guid>
      <pubDate>Sun, 03 Jun 2018 19:27:55 +0800</pubDate>
      <description>文章 · 昨天使用uwsgi和Nginx在Debian 9上部署一个python程序。完成后给uwsgi写了一个systemd文件，想通过systemd来管理uwsgi的启动和停止。 文件内容如下: 测试时发现，能够正常启动，但是过了两、三分钟左右进程就会停掉、检查系统日志发现是由于进程收到了TERM型号继而KILL信号导致退出。我对于这个unit文件中KillSignal的作用并不理解，查了一下是用于指定…</description>
    </item>
    <item>
      <title>Ubuntu 18.04上的蓝牙连接问题</title>
      <link>https://www.keda.io/bluetooth-connection-issue-on-ubuntu-18-04</link>
      <guid isPermaLink="true">https://www.keda.io/bluetooth-connection-issue-on-ubuntu-18-04</guid>
      <pubDate>Sat, 02 Jun 2018 16:48:26 +0800</pubDate>
      <description>文章 · 以前的博客当中有提到Ubuntu 16.04上用蓝牙耳机的事。现在系统升级到18.04后，发现每次计算机休眠再唤醒后，蓝牙耳机都无法连接。查看系统日志，发现有如下错误信息： 网上搜了一下，这个问题应该是一个蓝牙程序的bug，而且不限于Ubuntu 18，其他的发行版也有同样的问题。根据相关的bug报告，使用下面这个PPA更新bluez程序可以解决这个问题。希望Ubuntu及早将此问题修正。</description>
    </item>
    <item>
      <title>Migrate db2 developer edition to new server</title>
      <link>https://www.keda.io/migrate-db2-developer-edition-to-new-server</link>
      <guid isPermaLink="true">https://www.keda.io/migrate-db2-developer-edition-to-new-server</guid>
      <pubDate>Thu, 31 May 2018 12:19:29 +0800</pubDate>
      <description>文章 · Here is a guide I wrote for my work, I just post it here so that I can refer to it even after I leave. Install the same DB2 version as in DEV environment (v11.1.2.2) IBM does not support old version o…</description>
    </item>
    <item>
      <title>迁移DB2开发者版container</title>
      <link>https://www.keda.io/migrate-db2-developer-edition-container</link>
      <guid isPermaLink="true">https://www.keda.io/migrate-db2-developer-edition-container</guid>
      <pubDate>Wed, 30 May 2018 13:41:54 +0800</pubDate>
      <description>文章 · 前一段因为项目需求，在一个CentOS 7.4上用docker方式搭建了一个免费的DB2 developer edition，版本为v11.1.2fp2a\3。过一段时间后需要在另外一个机器上再安装一个，然后就发现原来的安装包无论如何无法正常安装了，一直报docker下载相关的错误。 折腾了许久之后发现，DB2 developer 版有新版本了，原来这个版本貌似被故意废弃了，因此docker 下载…</description>
    </item>
    <item>
      <title>删除container的挂载点</title>
      <link>https://www.keda.io/%E5%88%A0%E9%99%A4container%E7%9A%84%E6%8C%82%E8%BD%BD%E7%82%B9</link>
      <guid isPermaLink="true">https://www.keda.io/%E5%88%A0%E9%99%A4container%E7%9A%84%E6%8C%82%E8%BD%BD%E7%82%B9</guid>
      <pubDate>Wed, 30 May 2018 12:45:54 +0800</pubDate>
      <description>文章 · 今天需要把一个正在运行的container的挂载点删除（只删除挂载点，而不删除host机器上的实际目录）。启动container时是使用-v挂载上去的。 结果找了半天，发现除了重建container之外，官方没有提供任何方式来删除挂载点。 尝试了把container停掉，然后编辑/var/lib/docker/containers/$UUID/hostconfig.json等文件，发现没用，con…</description>
    </item>
    <item>
      <title>寻找Linux上等待CPU的进程</title>
      <link>https://www.keda.io/get-processes-waiting-for-cpu</link>
      <guid isPermaLink="true">https://www.keda.io/get-processes-waiting-for-cpu</guid>
      <pubDate>Tue, 29 May 2018 07:29:44 +0800</pubDate>
      <description>文章 · 前几天碰到一个（面试）问题：
在Linux上，你如何找到哪些进程处于等待CPU的状态？ 
第一个想到的工具是PS。但看了一下PS的手册，它的状态栏中&apos;R&apos;可以表示正在运行，或者已经准备好了但正在等待运行。</description>
    </item>
    <item>
      <title>几个面试问题的回顾</title>
      <link>https://www.keda.io/%E5%87%A0%E4%B8%AA%E9%9D%A2%E8%AF%95%E9%97%AE%E9%A2%98%E7%9A%84%E5%9B%9E%E9%A1%BE</link>
      <guid isPermaLink="true">https://www.keda.io/%E5%87%A0%E4%B8%AA%E9%9D%A2%E8%AF%95%E9%97%AE%E9%A2%98%E7%9A%84%E5%9B%9E%E9%A1%BE</guid>
      <pubDate>Wed, 25 Oct 2017 18:10:40 +0800</pubDate>
      <description>文章 · 上周面试时碰到了几个问题，感觉有些陌生。回来后查了下资料，以备后用。
what does the plus sign mean in an entry in the passwd file?</description>
    </item>
  </channel>
</rss>
