<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Linux on Garlic Space</title><link>https://garlicspace.com/tags/linux/</link><description>Recent content in Linux on Garlic Space</description><generator>Hugo -- 0.152.2</generator><language>zh-cn</language><lastBuildDate>Wed, 18 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://garlicspace.com/tags/linux/feed.xml" rel="self" type="application/rss+xml"/><item><title>节点流量问题：限速 + Telegram 告警 + 自动停机守护</title><link>https://garlicspace.com/posts/node-qos/</link><pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/node-qos/</guid><description>节点流量问题：限速 + Telegram 告警 + 自动停机守护 - 节前发现 VPS 上运行节点，流量忽然增加，紧急增加了限速。整理下如何用 Linux tc 做限速、如何做月流量守护、如何通过 Telegram 实时接收告警。</description></item><item><title>升级 OpenSSH</title><link>https://garlicspace.com/posts/%E5%8D%87%E7%BA%A7openssh/</link><pubDate>Sun, 24 Aug 2025 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E5%8D%87%E7%BA%A7openssh/</guid><description>CentOS 7 和 Ubuntu 系统升级 OpenSSH 的完整指南</description></item><item><title>centos7 yum 源失效</title><link>https://garlicspace.com/posts/centos7-yum-%E6%BA%90%E5%A4%B1%E6%95%88/</link><pubDate>Wed, 22 Jan 2025 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/centos7-yum-%E6%BA%90%E5%A4%B1%E6%95%88/</guid><description>centos7 yum 源失效 - centos7 yum 源已经失效, 可以通过下面指令更换默认配置，baseurl中 mirror.* 替换为 vault*</description></item><item><title>自动构建最新版本的 Nginx</title><link>https://garlicspace.com/posts/%E8%87%AA%E5%8A%A8%E6%9E%84%E5%BB%BA%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E7%9A%84-nginx/</link><pubDate>Sun, 22 Dec 2024 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E8%87%AA%E5%8A%A8%E6%9E%84%E5%BB%BA%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E7%9A%84-nginx/</guid><description>自动构建最新版本的 Nginx - Nginx 是现代互联网中最受欢迎的高性能 Web 服务器和反向代理服务器之一。为了充分发挥其性能，我们通常需要使用最新版本的 Nginx，并静态链接最新的依赖库（如 PCRE2、zlib 和 OpenSSL）。然而，手动下载和编译这些依赖库既耗时又容易出错。</description></item><item><title>Linux chroot Environment: Principles and Detailed Applications</title><link>https://garlicspace.com/posts/linux-chroot-environment-principles-and-detailed-applications/</link><pubDate>Sun, 08 Dec 2024 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-chroot-environment-principles-and-detailed-applications/</guid><description>Linux chroot Environment: Principles and Detailed Applications - In Linux system management, chroot is a powerful tool that changes the root directory for a process, enabling fil</description></item><item><title>Linux chroot 环境：原理与应用详解</title><link>https://garlicspace.com/posts/linux-chroot-%E7%8E%AF%E5%A2%83%E5%8E%9F%E7%90%86%E4%B8%8E%E5%BA%94%E7%94%A8%E8%AF%A6%E8%A7%A3/</link><pubDate>Sun, 08 Dec 2024 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-chroot-%E7%8E%AF%E5%A2%83%E5%8E%9F%E7%90%86%E4%B8%8E%E5%BA%94%E7%94%A8%E8%AF%A6%E8%A7%A3/</guid><description>Linux chroot 环境：原理与应用详解 - 在 Linux 系统管理中，chroot 可以通过改变程序的根目录来实现文件系统的隔离。在本文中，我们将详细介绍 chroot 的原理，并通过一个模拟 Postfix 调用 SASL 的实战演示，帮助你掌握如何正确配置和验证 chroot 环境。</description></item><item><title>linux arp 参数整理 – arp_filter</title><link>https://garlicspace.com/posts/linux-arp-%E5%8F%82%E6%95%B0%E6%95%B4%E7%90%86-arp_filter/</link><pubDate>Sun, 23 Jun 2024 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-arp-%E5%8F%82%E6%95%B0%E6%95%B4%E7%90%86-arp_filter/</guid><description>linux arp 参数整理 – arp_filter - arp_filter：</description></item><item><title>linux arp 参数整理</title><link>https://garlicspace.com/posts/linux-arp-%E5%8F%82%E6%95%B0%E6%95%B4%E7%90%86-1/</link><pubDate>Sat, 22 Jun 2024 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-arp-%E5%8F%82%E6%95%B0%E6%95%B4%E7%90%86-1/</guid><description>linux arp 参数整理 - 在 Linux 中，有多个内核参数可以控制 ARP（地址解析协议）的行为。这些参数可以通过 /proc/sys/net/ipv4/conf/*/ 目录下的文件来配置，或者使用 sysctl 命令来设置。以下是一些常用的 ARP 内核参数及其含义：</description></item><item><title>conflicts with file from package kernel-debuginfo</title><link>https://garlicspace.com/posts/conflicts-with-file-from-package-kernel-debuginfo/</link><pubDate>Sat, 13 Apr 2024 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/conflicts-with-file-from-package-kernel-debuginfo/</guid><description>conflicts with file from package kernel-debuginfo - dnf upgrade-minimal --security</description></item><item><title>curl support TLCP using TASSL</title><link>https://garlicspace.com/posts/curl-support-tlcp-using-tassl/</link><pubDate>Fri, 16 Feb 2024 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/curl-support-tlcp-using-tassl/</guid><description>curl support TLCP using TASSL - 传输层密码协议TLCP 对应 TLS协议， 在GB/T 38636-2020规范中定义。支持国密sm2, sm3, sm4密钥套件。增加加密证书， 6.4.5.3章节中提到 选择ECC, ECDHE算法，密钥交换算法使用用加密证书公钥。</description></item><item><title>io_uring echo-server</title><link>https://garlicspace.com/posts/io_uring-echo-server/</link><pubDate>Sun, 07 Jan 2024 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/io_uring-echo-server/</guid><description>io_uring echo-server - io_uring是Linux特有的异步I/O API。io_uring的名称来自用户空间和内核空间之间共享的环形缓冲区。在内核和用户空间之间进行通信使用环形缓冲区作为主要的通信模式。这种思想在业务系统中还是挺常见的： 比如用MQ、Kafka消息队列推送信息。一个接收队列， 一个发送队列，另外设计上也有Acto</description></item><item><title>systemctl 启动服务缓慢</title><link>https://garlicspace.com/posts/systemctl-%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E7%BC%93%E6%85%A2/</link><pubDate>Sat, 21 Oct 2023 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/systemctl-%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E7%BC%93%E6%85%A2/</guid><description>systemctl 启动服务缓慢 - 使用systemd配置服务启动慢</description></item><item><title>linux sendfile</title><link>https://garlicspace.com/posts/linux-sendfile/</link><pubDate>Sat, 16 Sep 2023 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-sendfile/</guid><description>linux sendfile - 使用c语言实现一下文件复制功能：</description></item><item><title>linux 生成指定大小文件</title><link>https://garlicspace.com/posts/linux-%E7%94%9F%E6%88%90%E6%8C%87%E5%AE%9A%E5%A4%A7%E5%B0%8F%E6%96%87%E4%BB%B6/</link><pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-%E7%94%9F%E6%88%90%E6%8C%87%E5%AE%9A%E5%A4%A7%E5%B0%8F%E6%96%87%E4%BB%B6/</guid><description>linux 生成指定大小文件 - linux生成指定大小文件常用的几个命令：</description></item><item><title>A kernel debugger in Python: drgn</title><link>https://garlicspace.com/posts/a-kernel-debugger-in-python-drgn/</link><pubDate>Tue, 01 Aug 2023 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/a-kernel-debugger-in-python-drgn/</guid><description>A kernel debugger in Python: drgn - 原文链接：</description></item><item><title>linux sudoers</title><link>https://garlicspace.com/posts/linux-sudoers/</link><pubDate>Tue, 16 May 2023 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-sudoers/</guid><description>linux sudoers - linux安装完有些系统会默认禁用root登录， 所以我习惯创建一个普通用户然后配置sudoers登录。</description></item><item><title>Linux hostname</title><link>https://garlicspace.com/posts/linux-hostname/</link><pubDate>Thu, 11 May 2023 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-hostname/</guid><description>Linux hostname - linux下设置hostname有以下两个命令</description></item><item><title>Linux sed 中的&amp;</title><link>https://garlicspace.com/posts/linux-sed-%E4%B8%AD%E7%9A%84/</link><pubDate>Sat, 03 Dec 2022 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-sed-%E4%B8%AD%E7%9A%84/</guid><description>Linux sed 中的&amp;amp; - 一次使用sed 替换操作，替换后的字符串包含 &amp;amp;，替换文本如下</description></item><item><title>ubuntu 忘记密码</title><link>https://garlicspace.com/posts/ubuntu-%E5%BF%98%E8%AE%B0%E5%AF%86%E7%A0%81/</link><pubDate>Sat, 03 Dec 2022 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/ubuntu-%E5%BF%98%E8%AE%B0%E5%AF%86%E7%A0%81/</guid><description>ubuntu 忘记密码 - &amp;lt;!--more--&amp;gt;</description></item><item><title>单元测试</title><link>https://garlicspace.com/posts/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/</link><pubDate>Sun, 08 May 2022 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/</guid><description>单元测试 - 单元测试的目的并不是查找bug，而是帮助我们更好的设计我们的代码，如何合理的来拆分我们的代码。</description></item><item><title>查询和清除文件系统缓存</title><link>https://garlicspace.com/posts/%E6%9F%A5%E8%AF%A2%E5%92%8C%E6%B8%85%E9%99%A4%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%BC%93%E5%AD%98/</link><pubDate>Tue, 30 Mar 2021 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E6%9F%A5%E8%AF%A2%E5%92%8C%E6%B8%85%E9%99%A4%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%BC%93%E5%AD%98/</guid><description>查询和清除文件系统缓存 - 为了减少磁盘I/O，加快读写速度，Linux内核使用文件系统的Cache，Page Cache。</description></item><item><title>Linux跨文件系统的文件夹和文件映射关系</title><link>https://garlicspace.com/posts/linux%E8%B7%A8%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%9A%84%E6%96%87%E4%BB%B6%E5%A4%B9%E5%92%8C%E6%96%87%E4%BB%B6%E6%98%A0%E5%B0%84%E5%85%B3%E7%B3%BB/</link><pubDate>Sat, 06 Mar 2021 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux%E8%B7%A8%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%9A%84%E6%96%87%E4%BB%B6%E5%A4%B9%E5%92%8C%E6%96%87%E4%BB%B6%E6%98%A0%E5%B0%84%E5%85%B3%E7%B3%BB/</guid><description>Linux跨文件系统的文件夹和文件映射关系 - Everything is a file 是Unix的设计理念，由其派生的Linux也如此。</description></item><item><title>mount操作导致磁盘数据丢失</title><link>https://garlicspace.com/posts/mount%E6%93%8D%E4%BD%9C%E5%AF%BC%E8%87%B4%E7%A3%81%E7%9B%98%E6%95%B0%E6%8D%AE%E4%B8%A2%E5%A4%B1/</link><pubDate>Tue, 02 Mar 2021 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/mount%E6%93%8D%E4%BD%9C%E5%AF%BC%E8%87%B4%E7%A3%81%E7%9B%98%E6%95%B0%E6%8D%AE%E4%B8%A2%E5%A4%B1/</guid><description>mount操作导致磁盘数据丢失 - - cenos7X86_64 + openssh</description></item><item><title>python语言学习</title><link>https://garlicspace.com/posts/python%E8%AF%AD%E8%A8%80%E5%AD%A6%E4%B9%A0/</link><pubDate>Wed, 17 Feb 2021 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/python%E8%AF%AD%E8%A8%80%E5%AD%A6%E4%B9%A0/</guid><description>python语言学习 - 最新学习极客时间物联网课程中，老师使用的语言是python。之前也没有系统学习过，利用假期，跟着两个极客时间专栏学习了一下python 。</description></item><item><title>docker安装 zookeeper, dubbo-admin</title><link>https://garlicspace.com/posts/docker%E5%AE%89%E8%A3%85-zookeeper-dubbo-admin/</link><pubDate>Wed, 23 Dec 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/docker%E5%AE%89%E8%A3%85-zookeeper-dubbo-admin/</guid><description>docker安装 zookeeper, dubbo-admin - 1 . 环境：</description></item><item><title>Ext4 布局及inode,block信息统计</title><link>https://garlicspace.com/posts/ext4-%E5%B8%83%E5%B1%80%E5%8F%8Ainodeblock%E4%BF%A1%E6%81%AF%E7%BB%9F%E8%AE%A1/</link><pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/ext4-%E5%B8%83%E5%B1%80%E5%8F%8Ainodeblock%E4%BF%A1%E6%81%AF%E7%BB%9F%E8%AE%A1/</guid><description>Ext4 布局及inode,block信息统计 - The inode index node is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory. Each inode store</description></item><item><title>Understanding Linux filesystems: ext4 and beyond</title><link>https://garlicspace.com/posts/understanding-linux-filesystems-ext4-and-beyond/</link><pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/understanding-linux-filesystems-ext4-and-beyond/</guid><description>Understanding Linux filesystems: ext4 and beyond - 这篇文章Understanding Linux filesystems: ext4 and beyond</description></item><item><title>查看inode相关信息</title><link>https://garlicspace.com/posts/%E6%9F%A5%E7%9C%8Binode%E7%9B%B8%E5%85%B3%E4%BF%A1%E6%81%AF/</link><pubDate>Tue, 15 Sep 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E6%9F%A5%E7%9C%8Binode%E7%9B%B8%E5%85%B3%E4%BF%A1%E6%81%AF/</guid><description>查看inode相关信息 - The inode index node is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory. Each inode stores the attrib</description></item><item><title>close-on-exec</title><link>https://garlicspace.com/posts/close-on-exec/</link><pubDate>Wed, 09 Sep 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/close-on-exec/</guid><description>close-on-exec - Donald E. Porter 教授的 CSE 506: Operating Systems 教材 VFS 部分中提到Linux文件操作使用的一个标识</description></item><item><title>Tiny Core Linux 安装配置</title><link>https://garlicspace.com/posts/tiny-core-linux-%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/</link><pubDate>Tue, 01 Sep 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/tiny-core-linux-%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/</guid><description>Tiny Core Linux 安装配置 - Tiny Core Linux是一个mini Linux操作系统,基于 BusyBox和FLTK提供基本功能。 其发行版本在11M-16M 官网上也提供Plus版本也只有106M。它很精致。</description></item><item><title>dhclient error while loading shared libraries libdns-export.so.1102</title><link>https://garlicspace.com/posts/dhclient-error-while-loading-shared-libraries-libdns-export-so-1102/</link><pubDate>Tue, 25 Aug 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/dhclient-error-while-loading-shared-libraries-libdns-export-so-1102/</guid><description>dhclient error while loading shared libraries libdns-export.so.1102 - - 环境：</description></item><item><title>伙伴系统分配物理页后如何转换成为虚拟地址</title><link>https://garlicspace.com/posts/%E4%BC%99%E4%BC%B4%E7%B3%BB%E7%BB%9F%E5%88%86%E9%85%8D%E7%89%A9%E7%90%86%E9%A1%B5%E5%90%8E%E5%A6%82%E4%BD%95%E8%BD%AC%E6%8D%A2%E6%88%90%E4%B8%BA%E8%99%9A%E6%8B%9F%E5%9C%B0%E5%9D%80/</link><pubDate>Tue, 11 Aug 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E4%BC%99%E4%BC%B4%E7%B3%BB%E7%BB%9F%E5%88%86%E9%85%8D%E7%89%A9%E7%90%86%E9%A1%B5%E5%90%8E%E5%A6%82%E4%BD%95%E8%BD%AC%E6%8D%A2%E6%88%90%E4%B8%BA%E8%99%9A%E6%8B%9F%E5%9C%B0%E5%9D%80/</guid><description>伙伴系统分配物理页后如何转换成为虚拟地址 - 极客时间 26 | 内核态内存映射：如何找到正确的会议室？ 一道课后问题</description></item><item><title>文件时间信息</title><link>https://garlicspace.com/posts/%E6%96%87%E4%BB%B6%E6%97%B6%E9%97%B4%E4%BF%A1%E6%81%AF/</link><pubDate>Thu, 30 Jul 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E6%96%87%E4%BB%B6%E6%97%B6%E9%97%B4%E4%BF%A1%E6%81%AF/</guid><description>文件时间信息 - 文件时间信息一般包含，文件创建时间，文件修改时间，文件访问时间。 Unix/Linux 文件修改时间有两个一个是Modify Time 文件内容修改/ Change Time:文件权限状态/权限, 根据不同的文件系统，文件时间信息属性会有一些差别。Unix/Linux在挂载文件系统的时候会设置相关文件时间属性相关参数。</description></item><item><title>mmap相关API</title><link>https://garlicspace.com/posts/mmap%E7%9B%B8%E5%85%B3api/</link><pubDate>Wed, 22 Jul 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/mmap%E7%9B%B8%E5%85%B3api/</guid><description>mmap相关API - mmap调用进程的虚拟进程空间中一段新的内存映射。</description></item><item><title>通过alternatives进行多版本间切换</title><link>https://garlicspace.com/posts/%E9%80%9A%E8%BF%87alternatives%E8%BF%9B%E8%A1%8C%E5%A4%9A%E7%89%88%E6%9C%AC%E9%97%B4%E5%88%87%E6%8D%A2/</link><pubDate>Sun, 28 Jun 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E9%80%9A%E8%BF%87alternatives%E8%BF%9B%E8%A1%8C%E5%A4%9A%E7%89%88%E6%9C%AC%E9%97%B4%E5%88%87%E6%8D%A2/</guid><description>通过alternatives进行多版本间切换 - 上周在学习单点登录安装CAS Overlay Template要使用指定版本,当时机器上安装了多个版本的jdk使用alternatives命令进行了切换</description></item><item><title>Linux Swap 启停及swappiness设置</title><link>https://garlicspace.com/posts/linux-swap-%E5%90%AF%E5%81%9C%E5%8F%8Aswappiness%E8%AE%BE%E7%BD%AE/</link><pubDate>Sun, 21 Jun 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-swap-%E5%90%AF%E5%81%9C%E5%8F%8Aswappiness%E8%AE%BE%E7%BD%AE/</guid><description>Linux Swap 启停及swappiness设置 - 可以通过磁盘分区和文件两种方式进行操作</description></item><item><title>/proc/buddyinfo文件</title><link>https://garlicspace.com/posts/proc-buddyinfo%E6%96%87%E4%BB%B6/</link><pubDate>Sat, 06 Jun 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/proc-buddyinfo%E6%96%87%E4%BB%B6/</guid><description>/proc/buddyinfo文件 - /proc/buddyinfo 文件可以查看Linux机器上可用的内存页， 可以查看每个节点，不同区域的每个order大小的块的可用数量, 下面是我们虚拟机的信息：</description></item><item><title>Timers and time management in the Linux kernel. Part 6</title><link>https://garlicspace.com/posts/timers-and-time-management-in-the-linux-kernel-part-6/</link><pubDate>Mon, 27 Apr 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/timers-and-time-management-in-the-linux-kernel-part-6/</guid><description>Timers and time management in the Linux kernel. Part 6 - 这篇文章 Timers and time management in the Linux kernel. Part 6</description></item><item><title>通过inode删除特殊字符文件</title><link>https://garlicspace.com/posts/%E9%80%9A%E8%BF%87inode%E5%88%A0%E9%99%A4%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6%E6%96%87%E4%BB%B6/</link><pubDate>Thu, 16 Apr 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E9%80%9A%E8%BF%87inode%E5%88%A0%E9%99%A4%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6%E6%96%87%E4%BB%B6/</guid><description>&lt;p&gt;对于正常使用rm无法删除的文件可以通过查找inode进行删除&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Bash" data-lang="Bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ls -i
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;find -inum xxx -delete&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Bash" data-lang="Bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ls -i
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;find -inum xxx -exec rm -i &lt;span class="o"&gt;{}&lt;/span&gt; &lt;span class="se"&gt;\;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;直接删除&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Bash" data-lang="Bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;root@centosgpt vm&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="c1"&gt;# ls -i&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="m"&gt;2278688&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;gt&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="m"&gt;13592459&lt;/span&gt; memdump2.c~ &lt;span class="m"&gt;13592454&lt;/span&gt; memzero &lt;span class="m"&gt;7506486&lt;/span&gt; test.c~
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="m"&gt;2275894&lt;/span&gt; 118902.mem &lt;span class="m"&gt;2275882&lt;/span&gt; memdump2.py &lt;span class="m"&gt;13592461&lt;/span&gt; memzero.c &lt;span class="m"&gt;9733651&lt;/span&gt; translate
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;root@centosgpt vm&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="c1"&gt;# find -inum 2278688 -delete&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;root@centosgpt vm&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="c1"&gt;# ls&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;118902.mem idle.py~ memdump3.c memory_layout processwrite.c test.c~ vsyscall.c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;18&lt;/span&gt; memdump memdump4 memory_layout.c processwrite.c~ translate &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;交互式&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Bash" data-lang="Bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;root@centosgpt vm&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="c1"&gt;# ls -i&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="m"&gt;7506464&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;gt&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="m"&gt;13592459&lt;/span&gt; memdump2.c~ &lt;span class="m"&gt;13592454&lt;/span&gt; memzero &lt;span class="m"&gt;7506486&lt;/span&gt; test.c~
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="m"&gt;2275894&lt;/span&gt; 118902.mem &lt;span class="m"&gt;2275882&lt;/span&gt; memdump2.py &lt;span class="m"&gt;13592461&lt;/span&gt; memzero.c &lt;span class="m"&gt;9733651&lt;/span&gt; translate
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;root@centosgpt vm&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="c1"&gt;# find -inum 7506464 -exec rm -i {} \;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm: remove regular empty file ‘./&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;gt&lt;span class="p"&gt;;&lt;/span&gt;’? y
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;root@centosgpt vm&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="c1"&gt;# ls&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;118902.mem idle.py~ memdump3.c memory_layout processwrite.c test.c~ vsyscall.c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;18&lt;/span&gt; memdump memdump4 memory_layout.c processwrite.c~ translate &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Linux进程内存布局及映射信息</title><link>https://garlicspace.com/posts/linux%E8%BF%9B%E7%A8%8B%E5%86%85%E5%AD%98%E5%B8%83%E5%B1%80%E5%8F%8A%E6%98%A0%E5%B0%84%E4%BF%A1%E6%81%AF/</link><pubDate>Sun, 12 Apr 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux%E8%BF%9B%E7%A8%8B%E5%86%85%E5%AD%98%E5%B8%83%E5%B1%80%E5%8F%8A%E6%98%A0%E5%B0%84%E4%BF%A1%E6%81%AF/</guid><description>Linux进程内存布局及映射信息 - 处理器在运行程序时，需要存储器来存放程序和程序使用的数据， 现代操作系统提供了存储器的抽象:虚拟存储器, 使得应用程序来说不用过多的考虑物理存储使用，简化了内存管理</description></item><item><title>linux-sides-Timers and time management in the Linux kernel. Part 5.</title><link>https://garlicspace.com/posts/linux-sides-timers-and-time-management-in-the-linux-kernel-part-5/</link><pubDate>Sun, 19 Jan 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-sides-timers-and-time-management-in-the-linux-kernel-part-5/</guid><description>linux-sides-Timers and time management in the Linux kernel. Part 5. - 这篇文章 Timers and time management in the Linux kernel. Part 5</description></item><item><title>内存管理 - 页面大小</title><link>https://garlicspace.com/posts/%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86-%E9%A1%B5%E9%9D%A2%E5%A4%A7%E5%B0%8F/</link><pubDate>Fri, 10 Jan 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86-%E9%A1%B5%E9%9D%A2%E5%A4%A7%E5%B0%8F/</guid><description>&lt;h2 id="内存管理发展阶段"&gt;内存管理发展阶段&lt;/h2&gt;
&lt;p&gt;内存(RAM)是计算机一种重要资源, 随着应用越来越复杂，&lt;code&gt;不管存储器有多大,程序都可以把他填满&lt;/code&gt;,这就迫使人们不断寻找解决方案去管理它.&lt;/p&gt;
&lt;p&gt;内存管理经历的几个阶段；&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;无存储抽象阶段 (No Memory abstraction)&lt;/li&gt;
&lt;li&gt;地址空间 (Address Spaces)&lt;/li&gt;
&lt;li&gt;虚拟内存 (Virtual Memory)&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;无存储抽象阶段: 直接使用物理地址, 简单和划分了用户和操作系统，(驱动程序)使用的内存. 早期的MSDOS采用这种管理方案。&lt;/li&gt;
&lt;li&gt;通过每个进程基址寄存器和界限寄存器实现动态重定位,映射到不通的物理内存。通过交换技术和空闲内存管理， 处理内存超载&lt;/li&gt;
&lt;li&gt;构建虚拟地址空间，通过MMU(内存管理单元)完成虚拟内存与物理内存的映射。&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="分页"&gt;分页&lt;/h2&gt;
&lt;p&gt;分页就是出现虚拟内存这个阶段.虚拟地址按照固定大小划分成若干个页面Page， 物理内存中对应为页框 Page Frame (物理内存最小数据单位), 当程序试图访问内存时，MMU根据虚拟地址映射为物理地址.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="页面大小"&gt;页面大小&lt;/h2&gt;
&lt;h3 id="不同处理器体系结构页面大小"&gt;不同处理器体系结构页面大小&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;体系结构&lt;/th&gt;
&lt;th&gt;最小页面&lt;/th&gt;
&lt;th&gt;支持大页面&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;32-bit x86&lt;/td&gt;
&lt;td&gt;4 KiB&lt;/td&gt;
&lt;td&gt;4 MiB, 2 MiB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;x86-64&lt;/td&gt;
&lt;td&gt;4 KiB&lt;/td&gt;
&lt;td&gt;2 MiB, 1 GiB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IA-64 (Itanium)&lt;/td&gt;
&lt;td&gt;4 KiB&lt;/td&gt;
&lt;td&gt;8 KiB, 64 KiB, 256 KiB, 1 MiB, 4 MiB, 16 MiB, 256 MiB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Power ISA&lt;/td&gt;
&lt;td&gt;4 KiB&lt;/td&gt;
&lt;td&gt;64 KiB, 16 MiB, 16 GiB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SPARC v8 with SPARC Reference MMU&lt;/td&gt;
&lt;td&gt;4 KiB&lt;/td&gt;
&lt;td&gt;256 KiB, 16 MiB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ARMv7&lt;/td&gt;
&lt;td&gt;4 KiB&lt;/td&gt;
&lt;td&gt;64 KiB, 1 MiB , 16 MiB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UltraSPARC Architecture 2007&lt;/td&gt;
&lt;td&gt;8 KiB&lt;/td&gt;
&lt;td&gt;64 KiB, 512 KiB , 4 MiB, 32 MiB, 256 MiB, 2 GiB, 16 GiB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="页面大小考虑因素wiki"&gt;页面大小考虑因素(&lt;a href="https://en.wikipedia.org/wiki/Page_(computer_memory)#Page_table_size"&gt;wiki&lt;/a&gt;)&lt;/h3&gt;
&lt;p&gt;页面大小通常有处理器体系结构决定， 目前常用页面大小4KB。选择最佳页面大小要考虑一下几个因素：&lt;/p&gt;</description></item><item><title>HugeTLB Pages</title><link>https://garlicspace.com/posts/hugetlb-pages/</link><pubDate>Tue, 07 Jan 2020 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/hugetlb-pages/</guid><description>HugeTLB Pages - 这篇文章 Huge TLB Pages是出Linux Kernel文档</description></item><item><title>putty免密登录SSH服务</title><link>https://garlicspace.com/posts/putty%E6%97%A0%E5%AF%86%E7%A0%81%E7%99%BB%E5%BD%95ssh%E6%9C%8D%E5%8A%A1/</link><pubDate>Tue, 31 Dec 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/putty%E6%97%A0%E5%AF%86%E7%A0%81%E7%99%BB%E5%BD%95ssh%E6%9C%8D%E5%8A%A1/</guid><description>putty免密登录SSH服务 - - - cenos7X86_64 + openssh - windows10 - putty</description></item><item><title>Linux Swap 分区相关命令</title><link>https://garlicspace.com/posts/linux-swap-%E5%88%86%E5%8C%BA%E7%9B%B8%E5%85%B3%E5%91%BD%E4%BB%A4/</link><pubDate>Sun, 03 Nov 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-swap-%E5%88%86%E5%8C%BA%E7%9B%B8%E5%85%B3%E5%91%BD%E4%BB%A4/</guid><description>Linux Swap 分区相关命令 - - /proc/swaps 文件</description></item><item><title>物理内存管理</title><link>https://garlicspace.com/posts/%E7%89%A9%E7%90%86%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86/</link><pubDate>Sun, 03 Nov 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E7%89%A9%E7%90%86%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86/</guid><description>物理内存管理 - - SMP: CPU 通过总线访问内存, 称为 SMP 对称多处理器, 采用平坦内存模型, 物理页号连续, 总线成为瓶颈 - NUMA: CPU 都有本地内存, 访问内存不用总线, 称为 NUMA 非一致内存访问 采用非连续内存模型，页号不连续 - 稀疏内存模型</description></item><item><title>linux-sides-Timers and time management in the Linux kernel. Part 4.</title><link>https://garlicspace.com/posts/linux-sides-timers-and-time-management-in-the-linux-kernel-part-4/</link><pubDate>Fri, 25 Oct 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-sides-timers-and-time-management-in-the-linux-kernel-part-4/</guid><description>linux-sides-Timers and time management in the Linux kernel. Part 4. - 这篇文章 Timers and time management in the Linux kernel. Part 4</description></item><item><title>进程内存布局</title><link>https://garlicspace.com/posts/%E8%BF%9B%E7%A8%8B%E5%86%85%E5%AD%98%E5%B8%83%E5%B1%80/</link><pubDate>Fri, 25 Oct 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E8%BF%9B%E7%A8%8B%E5%86%85%E5%AD%98%E5%B8%83%E5%B1%80/</guid><description>进程内存布局 - - 物理内存管理 - 虚拟内存管理 - 物理内存与虚拟内存的映射</description></item><item><title>查看进程内存布局</title><link>https://garlicspace.com/posts/%E6%9F%A5%E7%9C%8B%E8%BF%9B%E7%A8%8B%E5%86%85%E5%AD%98%E5%B8%83%E5%B1%80/</link><pubDate>Sat, 19 Oct 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E6%9F%A5%E7%9C%8B%E8%BF%9B%E7%A8%8B%E5%86%85%E5%AD%98%E5%B8%83%E5%B1%80/</guid><description>&lt;h3 id="进程内存布局"&gt;进程内存布局&lt;/h3&gt;
&lt;p&gt;可以通过一下方法查看:&lt;/p&gt;
&lt;p&gt;命令：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pmap&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;文件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;proc filesystem maps&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="使用-pmap"&gt;使用 &lt;code&gt;pmap&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;可以从其说明看到 &lt;code&gt;-X&lt;/code&gt; 也是从/proc/PID/smaps获取了更详细的信息&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;root@centosgpt ~&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="c1"&gt;# pmap 1704&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1704: -bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;0000000000400000&lt;/span&gt; 884K r-x-- bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;00000000006dd000 4K r---- bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;00000000006de000 36K rw--- bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;00007f3c65515000 28K r--s- gconv-modules.cache
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;00007f3c6551c000 4K rw--- &lt;span class="o"&gt;[&lt;/span&gt; anon &lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;00007f3c6551d000 4K r---- ld-2.17.so
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;00007f3c6551e000 4K rw--- ld-2.17.so
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;00007f3c6551f000 4K rw--- &lt;span class="o"&gt;[&lt;/span&gt; anon &lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;00007ffd64655000 132K rw--- &lt;span class="o"&gt;[&lt;/span&gt; stack &lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;00007ffd64769000 12K r---- &lt;span class="o"&gt;[&lt;/span&gt; anon &lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;00007ffd6476c000 4K r-x-- &lt;span class="o"&gt;[&lt;/span&gt; anon &lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ffffffffff600000 4K r-x-- &lt;span class="o"&gt;[&lt;/span&gt; anon &lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; total 115580K&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id="查看-proc-filesystem-maps"&gt;查看 &lt;code&gt;proc filesystem maps&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;/proc/PID/smaps&lt;/code&gt;&lt;/p&gt;</description></item><item><title>进程中线程查看及线程栈查看</title><link>https://garlicspace.com/posts/%E8%BF%9B%E7%A8%8B%E4%B8%AD%E7%BA%BF%E7%A8%8B%E6%9F%A5%E7%9C%8B%E5%8F%8A%E7%BA%BF%E7%A8%8B%E6%A0%88%E6%9F%A5%E7%9C%8B/</link><pubDate>Sat, 12 Oct 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E8%BF%9B%E7%A8%8B%E4%B8%AD%E7%BA%BF%E7%A8%8B%E6%9F%A5%E7%9C%8B%E5%8F%8A%E7%BA%BF%E7%A8%8B%E6%A0%88%E6%9F%A5%E7%9C%8B/</guid><description>&lt;h3 id="进程线程查看"&gt;进程线程查看&lt;/h3&gt;
&lt;p&gt;可以通过一下方法查看:&lt;/p&gt;
&lt;p&gt;命令：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ps&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;top&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pidstat&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pstree&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;文件:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;proc filesystem&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="使用-ps"&gt;使用 &lt;code&gt;ps&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;ps&lt;/code&gt;与线程相关的参数&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Bash" data-lang="Bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;THREAD DISPLAY
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; H Show threads as &lt;span class="k"&gt;if&lt;/span&gt; they were processes.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -L Show threads, possibly with LWP and NLWP columns.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; m Show threads after processes.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -m Show threads after processes.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -T Show threads, possibly with SPID column.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;使用-L ps -eLo pid,tid,tgid,pgrp,args&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-C" data-lang="C"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;centosgpt&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="n"&gt;ps&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eLo&lt;/span&gt; &lt;span class="n"&gt;pid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;tid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;tgid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;pgrp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;grep&lt;/span&gt; &lt;span class="n"&gt;python&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Es&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sbin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;tuned&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;P&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="mi"&gt;1594&lt;/span&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Es&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sbin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;tuned&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;P&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="mi"&gt;1595&lt;/span&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Es&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sbin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;tuned&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;P&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="mi"&gt;1596&lt;/span&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Es&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sbin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;tuned&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;P&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="mi"&gt;1613&lt;/span&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="mi"&gt;1173&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Es&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sbin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;tuned&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;P&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mi"&gt;77189&lt;/span&gt; &lt;span class="mi"&gt;77189&lt;/span&gt; &lt;span class="mi"&gt;77189&lt;/span&gt; &lt;span class="mi"&gt;77188&lt;/span&gt; &lt;span class="n"&gt;grep&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;python&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;使用-m显示 ps -mLe&lt;/p&gt;</description></item><item><title>Linux进程调度</title><link>https://garlicspace.com/posts/linux%E8%BF%9B%E7%A8%8B%E8%B0%83%E5%BA%A6/</link><pubDate>Thu, 03 Oct 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux%E8%BF%9B%E7%A8%8B%E8%B0%83%E5%BA%A6/</guid><description>Linux进程调度 - wiki上的关于scheduler的定义:</description></item><item><title>linux-sides-Timers and time management in the Linux kernel. Part 3.</title><link>https://garlicspace.com/posts/linux-sides-timers-and-time-management-in-the-linux-kernel-part-3/</link><pubDate>Fri, 13 Sep 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-sides-timers-and-time-management-in-the-linux-kernel-part-3/</guid><description>linux-sides-Timers and time management in the Linux kernel. Part 3. - 这篇文章 Timers and time management in the Linux kernel. Part 3</description></item><item><title>Linux内核参数sysctl_sched_child_runs_first</title><link>https://garlicspace.com/posts/linux%E5%86%85%E6%A0%B8%E5%8F%82%E6%95%B0sysctl_sched_child_runs_first/</link><pubDate>Fri, 06 Sep 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux%E5%86%85%E6%A0%B8%E5%8F%82%E6%95%B0sysctl_sched_child_runs_first/</guid><description>Linux内核参数sysctl_sched_child_runs_first - Linux2.6.23版本引入了CFS调度器,通过sched_child_runs_first设置是否子进程优先运行, 下面是 SUSE Documentation</description></item><item><title>Linuxjournal-The Linux Scheduler</title><link>https://garlicspace.com/posts/linuxjournal-the-linux-scheduler/</link><pubDate>Wed, 04 Sep 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linuxjournal-the-linux-scheduler/</guid><description>Linuxjournal-The Linux Scheduler - 这篇文章 The Linux Scheduler作者Moshe Bar发表在linuxjournal, 是一篇2000年的文章.从L</description></item><item><title>Linux 与 Windows 文本文件格式转换</title><link>https://garlicspace.com/posts/linux-%E4%B8%8E-windows-%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%E8%BD%AC%E6%8D%A2/</link><pubDate>Sun, 01 Sep 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-%E4%B8%8E-windows-%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%E8%BD%AC%E6%8D%A2/</guid><description>Linux 与 Windows 文本文件格式转换 - 由于Windows与Linux对换行的定义不同,导致Windows应用不能正常按行显示Linux文本，Linux显示Windows文本时会带有^M</description></item><item><title>awk中的'数组'</title><link>https://garlicspace.com/posts/awk%E4%B8%AD%E7%9A%84%E6%95%B0%E7%BB%84/</link><pubDate>Sat, 31 Aug 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/awk%E4%B8%AD%E7%9A%84%E6%95%B0%E7%BB%84/</guid><description>&lt;p&gt;awk中的&amp;rsquo;&lt;code&gt;数组&lt;/code&gt;&amp;lsquo;是一种关联数组，又称作&lt;code&gt;maps&lt;/code&gt;、&lt;code&gt;字典&lt;/code&gt;，他的索引不需要连续， 可以使用字符串、数字做为索引， 此外，不需要事先声明数组的大小 - 数组可以在运行时扩展/收缩。&lt;/p&gt;
&lt;h4 id="语法"&gt;语法：&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;赋值：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-C" data-lang="C"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;array_name&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;删除：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-C" data-lang="C"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;delete&lt;/span&gt; &lt;span class="n"&gt;array_name&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;多维数组(使用字符串模拟)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-C" data-lang="C"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;0,0&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;遍历：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-C" data-lang="C"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;arrayname&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;actions&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="实例"&gt;实例&lt;/h3&gt;
&lt;h4 id="统计汇总"&gt;统计汇总&lt;/h4&gt;
&lt;p&gt;数据：Iplogs.txt&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-C" data-lang="C"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;180607&lt;/span&gt; &lt;span class="mi"&gt;093423&lt;/span&gt; &lt;span class="mf"&gt;123.12.23.122&lt;/span&gt; &lt;span class="mi"&gt;133&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;180607&lt;/span&gt; &lt;span class="mi"&gt;121234&lt;/span&gt; &lt;span class="mf"&gt;125.25.45.221&lt;/span&gt; &lt;span class="mi"&gt;153&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;190607&lt;/span&gt; &lt;span class="mi"&gt;084849&lt;/span&gt; &lt;span class="mf"&gt;202.178.23.4&lt;/span&gt; &lt;span class="mi"&gt;44&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;190607&lt;/span&gt; &lt;span class="mi"&gt;084859&lt;/span&gt; &lt;span class="mf"&gt;164.78.22.64&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;200607&lt;/span&gt; &lt;span class="mo"&gt;012312&lt;/span&gt; &lt;span class="mf"&gt;202.188.3.2&lt;/span&gt; &lt;span class="mi"&gt;13&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;210607&lt;/span&gt; &lt;span class="mi"&gt;084849&lt;/span&gt; &lt;span class="mf"&gt;202.178.23.4&lt;/span&gt; &lt;span class="mi"&gt;34&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;210607&lt;/span&gt; &lt;span class="mi"&gt;121435&lt;/span&gt; &lt;span class="mf"&gt;202.178.23.4&lt;/span&gt; &lt;span class="mi"&gt;32&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;210607&lt;/span&gt; &lt;span class="mi"&gt;132423&lt;/span&gt; &lt;span class="mf"&gt;202.188.3.2&lt;/span&gt; &lt;span class="mi"&gt;167&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;total.awk:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-C" data-lang="C"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Ip&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;Ip&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;print&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;access&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Ip&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="s"&gt;&amp;#34; times&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;注意下END后的&lt;code&gt;{&lt;/code&gt;需要和&lt;code&gt;END&lt;/code&gt;在一行&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;输出:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-C" data-lang="C"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;awk&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="n"&gt;total&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;awk&lt;/span&gt; &lt;span class="n"&gt;Iplogs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;txt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mf"&gt;123.12.23.122&lt;/span&gt; &lt;span class="n"&gt;access&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="n"&gt;times&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mf"&gt;164.78.22.64&lt;/span&gt; &lt;span class="n"&gt;access&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="n"&gt;times&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mf"&gt;202.188.3.2&lt;/span&gt; &lt;span class="n"&gt;access&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="n"&gt;times&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mf"&gt;125.25.45.221&lt;/span&gt; &lt;span class="n"&gt;access&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="n"&gt;times&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mf"&gt;202.178.23.4&lt;/span&gt; &lt;span class="n"&gt;access&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="n"&gt;times&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;说明: &lt;code&gt;$3&lt;/code&gt;是一个IP地址, Ip做为数组的索引。 对于每一行，它会增加相应IP地址索引的值。 最后在END部分中，所有索引都将是唯一IP地址的列表，其对应的值是出现次数。&lt;/p&gt;</description></item><item><title>FTP ASCII上传下载</title><link>https://garlicspace.com/posts/ftp-ascii%E4%B8%8A%E4%BC%A0%E4%B8%8B%E8%BD%BD/</link><pubDate>Sat, 31 Aug 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/ftp-ascii%E4%B8%8A%E4%BC%A0%E4%B8%8B%E8%BD%BD/</guid><description>FTP ASCII上传下载 - 近期在进行AIX到Linux迁移，发现从windows终端ftp时，客户端设置ASCII传输模式, 服务端并不能自动转换换行符号,脚本出现^M,需要手工删除。 Linux环境为RedHat7.3+vsftpd3.0.2,vsftpd.conf中ascii_download_enable/ascii_u</description></item><item><title>linux kernel documentation-CFS Scheduler</title><link>https://garlicspace.com/posts/linux-kernel-documentation-cfs-scheduler/</link><pubDate>Thu, 29 Aug 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-kernel-documentation-cfs-scheduler/</guid><description>linux kernel documentation-CFS Scheduler - 这篇文章 CFS Scheduler是Linux Kernel文档</description></item><item><title>linux-sides-Timers and time management-Introduction to the clocksource framework</title><link>https://garlicspace.com/posts/linux-sides-timers-and-time-management-introduction-to-the-clocksource-framework/</link><pubDate>Tue, 20 Aug 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-sides-timers-and-time-management-introduction-to-the-clocksource-framework/</guid><description>linux-sides-Timers and time management-Introduction to the clocksource framework - 这篇文章 Timers and time management in the Linux kernel. Part 2</description></item><item><title>Linux进程创建</title><link>https://garlicspace.com/posts/linux%E8%BF%9B%E7%A8%8B%E5%88%9B%E5%BB%BA/</link><pubDate>Sun, 18 Aug 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux%E8%BF%9B%E7%A8%8B%E5%88%9B%E5%BB%BA/</guid><description>Linux进程创建 - 以fork函数为例，看下Linux进程创建具体工作流程:</description></item><item><title>linux-sides-Timers and time management-Introduction</title><link>https://garlicspace.com/posts/linux-sides-timers-and-time-management-introduction/</link><pubDate>Wed, 07 Aug 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-sides-timers-and-time-management-introduction/</guid><description>linux-sides-Timers and time management-Introduction - 这篇文章 Timers and time management in the Linux kernel. Part 1</description></item><item><title>sysctl-查询修改Linux内核参数</title><link>https://garlicspace.com/posts/sysctl-%E6%9F%A5%E8%AF%A2%E4%BF%AE%E6%94%B9linux%E5%86%85%E6%A0%B8%E5%8F%82%E6%95%B0/</link><pubDate>Tue, 06 Aug 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/sysctl-%E6%9F%A5%E8%AF%A2%E4%BF%AE%E6%94%B9linux%E5%86%85%E6%A0%B8%E5%8F%82%E6%95%B0/</guid><description>sysctl-查询修改Linux内核参数 - sysctl命令可以_实时_（runtime）查看和修改linux 内核参数。这个命令可以在大多数发行版本找到， 另外内核参数，也可以通过procfs 文件系统，在 /proc/sys/kernel下 进行查看和修改。</description></item><item><title>asm-offset.h生成过程</title><link>https://garlicspace.com/posts/asm-offset-h%E4%B8%8Esed/</link><pubDate>Mon, 05 Aug 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/asm-offset-h%E4%B8%8Esed/</guid><description>asm-offset.h生成过程 - asm-offset.h 文件是在内核编译过程中生成的，生成过程 之前整理了一份笔记 TASK_threadsp的实现及asm-offsets.h， 其中涉及sed处理包含在内核代</description></item><item><title>Linux如何管理和度量时间</title><link>https://garlicspace.com/posts/linux%E5%A6%82%E4%BD%95%E7%AE%A1%E7%90%86%E5%92%8C%E5%BA%A6%E9%87%8F%E6%97%B6%E9%97%B4/</link><pubDate>Sat, 03 Aug 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux%E5%A6%82%E4%BD%95%E7%AE%A1%E7%90%86%E5%92%8C%E5%BA%A6%E9%87%8F%E6%97%B6%E9%97%B4/</guid><description>Linux如何管理和度量时间 - Linux 内核的Timer必须要完成两种定时测量（timing measurement）</description></item><item><title>TASK_threadsp的实现及asm-offsets.h</title><link>https://garlicspace.com/posts/task-threadsp%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%8F%8Aasm-offsets-h/</link><pubDate>Sun, 21 Jul 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/task-threadsp%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%8F%8Aasm-offsets-h/</guid><description>TASK_threadsp的实现及asm-offsets.h - - 主动调度与上下文切换</description></item><item><title>查看进程运行时间及上下文切换次数</title><link>https://garlicspace.com/posts/%E6%9F%A5%E7%9C%8B%E8%BF%9B%E7%A8%8B%E8%BF%90%E8%A1%8C%E6%97%B6%E9%97%B4%E5%8F%8A%E4%B8%8A%E4%B8%8B%E6%96%87%E5%88%87%E6%8D%A2%E6%AC%A1%E6%95%B0/</link><pubDate>Sat, 20 Jul 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E6%9F%A5%E7%9C%8B%E8%BF%9B%E7%A8%8B%E8%BF%90%E8%A1%8C%E6%97%B6%E9%97%B4%E5%8F%8A%E4%B8%8A%E4%B8%8B%E6%96%87%E5%88%87%E6%8D%A2%E6%AC%A1%E6%95%B0/</guid><description>查看进程运行时间及上下文切换次数 - CentOS Linux release 7.5.1804 CoreLinux centosgpt 5.2.0-rc4 1 SMP Sun Jun 16 13:25:49 CST 2019 x86_64 x86_64 x86_64 GNU/Linux</description></item><item><title>Linux 进程，线程的调度策略API</title><link>https://garlicspace.com/posts/linux-%E8%BF%9B%E7%A8%8B%E7%BA%BF%E7%A8%8B%E7%9A%84%E8%B0%83%E5%BA%A6%E7%AD%96%E7%95%A5api/</link><pubDate>Tue, 16 Jul 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-%E8%BF%9B%E7%A8%8B%E7%BA%BF%E7%A8%8B%E7%9A%84%E8%B0%83%E5%BA%A6%E7%AD%96%E7%95%A5api/</guid><description>Linux 进程，线程的调度策略API - 实时进程的调度策略：</description></item><item><title>函数栈的调用</title><link>https://garlicspace.com/posts/%E5%87%BD%E6%95%B0%E6%A0%88%E7%9A%84%E8%B0%83%E7%94%A8/</link><pubDate>Sun, 07 Jul 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E5%87%BD%E6%95%B0%E6%A0%88%E7%9A%84%E8%B0%83%E7%94%A8/</guid><description>函数栈的调用 - 本篇主要通过反汇编与GDB两种方式分析函数栈的使用过程。</description></item><item><title>获取进程信息相关命令</title><link>https://garlicspace.com/posts/%E8%8E%B7%E5%8F%96%E8%BF%9B%E7%A8%8B%E4%BF%A1%E6%81%AF%E7%9B%B8%E5%85%B3%E5%91%BD%E4%BB%A4/</link><pubDate>Wed, 03 Jul 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E8%8E%B7%E5%8F%96%E8%BF%9B%E7%A8%8B%E4%BF%A1%E6%81%AF%E7%9B%B8%E5%85%B3%E5%91%BD%E4%BB%A4/</guid><description>获取进程信息相关命令 - - pid： 进程ID - tid：线程ID - tgid：主线程ID</description></item><item><title>linux 任务状态定义</title><link>https://garlicspace.com/posts/linux%E4%BB%BB%E5%8A%A1%E7%8A%B6%E6%80%81%E5%AE%9A%E4%B9%89/</link><pubDate>Sat, 29 Jun 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux%E4%BB%BB%E5%8A%A1%E7%8A%B6%E6%80%81%E5%AE%9A%E4%B9%89/</guid><description>linux 任务状态定义 - Linux task_struct 结构中 涉及进程状态的属性有三个，其中进程对应的状态分为两类， 一类是运行中状态， 另一类是进程退出状态。</description></item><item><title>文件签名及校验方法</title><link>https://garlicspace.com/posts/%E6%96%87%E4%BB%B6%E7%AD%BE%E5%90%8D%E5%8F%8A%E6%A0%A1%E9%AA%8C%E6%96%B9%E6%B3%95/</link><pubDate>Thu, 27 Jun 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E6%96%87%E4%BB%B6%E7%AD%BE%E5%90%8D%E5%8F%8A%E6%A0%A1%E9%AA%8C%E6%96%B9%E6%B3%95/</guid><description>文件签名及校验方法 - 在上网下载镜像或安装文件时经常会看到MD5,SHA-1,SHA-256 ，signature，一起显示，这些文件帮助我们验证下载的文件是否损坏或者被篡改以及文件的真实性， 散列值可以使用windows， macOS，Linux内置命令进行验证。 文件签名可以使用工具gpg进行校验。</description></item><item><title>Netflix Blog-容器的预测性CPU隔离</title><link>https://garlicspace.com/posts/netflix-blog-%E5%AE%B9%E5%99%A8%E7%9A%84%E9%A2%84%E6%B5%8B%E6%80%A7cpu%E9%9A%94%E7%A6%BB/</link><pubDate>Thu, 20 Jun 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/netflix-blog-%E5%AE%B9%E5%99%A8%E7%9A%84%E9%A2%84%E6%B5%8B%E6%80%A7cpu%E9%9A%94%E7%A6%BB/</guid><description>Netflix Blog-容器的预测性CPU隔离 - 这篇文章 Predictive CPU isolation of containers at Netflix</description></item><item><title>ELF 文件格式分析</title><link>https://garlicspace.com/posts/elf-%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%E5%88%86%E6%9E%90/</link><pubDate>Tue, 11 Jun 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/elf-%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%E5%88%86%E6%9E%90/</guid><description>ELF 文件格式分析 - ELF： Executable and Linkable Format</description></item><item><title>Linux下实现一个系统调用</title><link>https://garlicspace.com/posts/linux%E4%B8%8B%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E7%B3%BB%E7%BB%9F%E8%B0%83%E7%94%A8/</link><pubDate>Sun, 02 Jun 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux%E4%B8%8B%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E7%B3%BB%E7%BB%9F%E8%B0%83%E7%94%A8/</guid><description>Linux下实现一个系统调用 - 环境： cenos7</description></item><item><title>linux内核中的进程列表</title><link>https://garlicspace.com/posts/linux%E5%86%85%E6%A0%B8%E8%BF%9B%E7%A8%8B%E5%88%97%E8%A1%A8%E5%AE%9E%E7%8E%B0/</link><pubDate>Sun, 26 May 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux%E5%86%85%E6%A0%B8%E8%BF%9B%E7%A8%8B%E5%88%97%E8%A1%A8%E5%AE%9E%E7%8E%B0/</guid><description>linux内核中的进程列表 - /include/linux/types.hstruct list_head { struct list_head *next, *prev; };与响应的结构组成双向链表。</description></item><item><title>查看Linux分区和硬盘空间命令</title><link>https://garlicspace.com/posts/%E6%9F%A5%E7%9C%8Blinux%E5%88%86%E5%8C%BA%E5%92%8C%E7%A1%AC%E7%9B%98%E7%A9%BA%E9%97%B4%E5%91%BD%E4%BB%A4/</link><pubDate>Sat, 18 May 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E6%9F%A5%E7%9C%8Blinux%E5%88%86%E5%8C%BA%E5%92%8C%E7%A1%AC%E7%9B%98%E7%A9%BA%E9%97%B4%E5%91%BD%E4%BB%A4/</guid><description>查看Linux分区和硬盘空间命令 - 常用的硬盘分区及空间信息查看命令</description></item><item><title>grub2 配置centos7，ubuntu</title><link>https://garlicspace.com/posts/grub2-%E9%85%8D%E7%BD%AEcentos7ubuntu/</link><pubDate>Thu, 16 May 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/grub2-%E9%85%8D%E7%BD%AEcentos7ubuntu/</guid><description>grub2 配置centos7，ubuntu - 1. VMWARE 安装centos7 ， 参考鸟哥私房菜第三章</description></item><item><title>编程规范问题导致SIGCLD 屏蔽失效</title><link>https://garlicspace.com/posts/sigcld-%E4%BF%A1%E5%8F%B7/</link><pubDate>Tue, 30 Apr 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/sigcld-%E4%BF%A1%E5%8F%B7/</guid><description>编程规范问题导致SIGCLD 屏蔽失效 - 进程出现&amp;lt;defunct&amp;gt;状态进程，（zombie process ）。对于创建多进程的场景， 子进程状态改变产生此信号， 对SIGCLD信号处理不当，会导致僵尸进程。</description></item><item><title>linux 使用chage 设置密码永不过期</title><link>https://garlicspace.com/posts/linux-%E4%BD%BF%E7%94%A8chage-%E8%AE%BE%E7%BD%AE%E5%AF%86%E7%A0%81%E7%94%A8%E8%BF%87%E6%9C%9F/</link><pubDate>Sun, 28 Apr 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/linux-%E4%BD%BF%E7%94%A8chage-%E8%AE%BE%E7%BD%AE%E5%AF%86%E7%A0%81%E7%94%A8%E8%BF%87%E6%9C%9F/</guid><description>linux 使用chage 设置密码永不过期 - vmware安装的虚拟机， 今天登录忽然提示“You must change your password now and login again!”， 密码过期了， 我登录设置了ssh免密登录， 输入原始密码，输入新密码后解决。修改成功登录后看了下，密码有效期60天。 通过chage 修改应用用户密码永不过期</description></item><item><title>关于鸟哥是如何解开 initramfs 的：）</title><link>https://garlicspace.com/posts/%E5%85%B3%E4%BA%8E%E9%B8%9F%E5%93%A5%E6%98%AF%E5%A6%82%E4%BD%95%E8%A7%A3%E5%BC%80-initramfs-%E7%9A%84/</link><pubDate>Fri, 26 Apr 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/%E5%85%B3%E4%BA%8E%E9%B8%9F%E5%93%A5%E6%98%AF%E5%A6%82%E4%BD%95%E8%A7%A3%E5%BC%80-initramfs-%E7%9A%84/</guid><description>关于鸟哥是如何解开 initramfs 的：） - 鸟哥解析 CentOS 7.x 的initramfs 档案内容 文章内容时， 主要疑问是为什么使用的是512bytes去算 “initramfs 档案的前置字元容量 ”的大小</description></item><item><title>initramfs 解压方法</title><link>https://garlicspace.com/posts/initramfs-%E8%A7%A3%E5%8E%8B/</link><pubDate>Tue, 23 Apr 2019 00:00:00 +0000</pubDate><guid>https://garlicspace.com/posts/initramfs-%E8%A7%A3%E5%8E%8B/</guid><description>initramfs 解压方法 - 最近在学习 _鸟哥私房菜第19章_，文章在分析Boot Loader 过程中， 提到到了虚拟档案系统Initial RAM Disk或Initial RAM Filesys</description></item></channel></rss>