linux 的 dns 缓存,NSCD 服务

2024-12-30 杜世伟 Linux

在 Linux 中,DNS 缓存通常由 NSCD(Name Service Caching Daemon)服务管理。NSCD 是一个守护进程,它用于缓存各种名称服务的查询结果,包括 DNS、passwd、group 等信息,以提高系统的性能,减少对外部服务(如 DNS 服务器)的查询次数。

### NSCD 的作用

1. 缓存 DNS 查询结果:NSCD 可以缓存 DNS 查询的结果。这样,当系统再次请求相同的域名时,NSCD 会直接返回缓存的结果,而无需再次进行 DNS 查询,从而提高性能。
2. 缓存其他信息:除了 DNS,NSCD 还可以缓存本地用户和组信息、主机名等,减少对这些信息的频繁查询。

### 如何启用和管理 NSCD 服务

1. 安装 NSCD

   在大多数 Linux 发行版中,NSCD 可以通过包管理器安装。例如,在基于 Debian 的系统(如 Ubuntu)中:

阅读全文>>

标签: linux dns NSCD

评论(0) 浏览(280)

当Linux系统的load负载偏高时,如何进行问题定位与性能分析优化?

2024-11-8 杜世伟 Message

当Linux系统的负载较高时,需要进行详细的性能分析和优化。主要可以从CPU、内存、磁盘I/O、网络等多个方面来逐步排查问题,并针对具体问题采取优化措施。以下是具体的步骤和工具方法。

1. 检查系统整体负载

使用 uptime 或 top 命令查看负载

uptime

top 

这两个命令可以查看系统的load average数值,三个数值分别代表最近1分钟、5分钟、15分钟的平均负载。Load average的理解:

  • 如果load average接近或超过CPU核心数,说明CPU压力较大。
  • 若数值较小,但系统响应变慢,可能是I/O或内存问题。

2. 分析 CPU 使用情况

使用 top 或 htop

  • 通过 top 查看进程的CPU使用情况,重点关注 %CPU 高的进程。
  • 使用 htop 可以更直观地观察CPU使用情况(需提前安装)。

阅读全文>>

标签: linux cpu top 性能 优化

评论(0) 浏览(1320)

10 个 Linux 中方便的 Bash 别名

2018-10-10 杜世伟 Linux

你有多少次在命令行上输入一个长命令,并希望有一种方法可以保存它以供日后使用?这就是 Bash 别名派上用场的地方。它们允许你将长而神秘的命令压缩为易于记忆和使用的东西。需要一些例子来帮助你入门吗?没问题!

要使用你创建的 Bash 别名,你需要将其添加到 .bash_profile 中,该文件位于你的家目录中。请注意,此文件是隐藏的,并只能从命令行访问。编辑此文件的最简单方法是使用 Vi 或 Nano 之类的东西。

1、 你有几次遇到需要解压 .tar 文件但无法记住所需的确切参数?别名可以帮助你!只需将以下内容添加到 .bash_profile 中,然后使用 untar FileName 解压缩任何 .tar 文件。

alias untar='tar -zxvf '
2、 想要下载的东西,但如果出现问题可以恢复吗?

alias wget='wget -c '

3、 是否需要为新的网络帐户生成随机的 20 个字符的密码?没问题。

alias getpass="openssl rand -base64 20"

阅读全文>>

标签: linux wget tar alias

评论(0) 浏览(2585)

四个提高工作效率的小技巧

2018-9-15 杜世伟 Linux

四个提高工作效率的小技巧:
一)有没有那么一个命令,创建目录并切换至新目录下?
在工作中是不是经常使用mkdir创建目录,然后cd到创建的目录下,如果经常这样执行的话是不是特烦,抱怨为什么没有一个现成的命令供使用
纠结中。。。。。
如果这个时候有个方式可以满足你的需求是不是感觉很兴奋,然我们见证实现方式吧:

在当前登录的账号的~/.bash_profile文件中添加如下代码:
function mkdircd () { 
  mkdir -p "$@" && eval cd "\"\$$#\"";
}

然后执行 source ~/.bash_profile 使修改文件生效
这个时候你的服务器下就会有个新的命令,mkdircd

Example:
#mkdircd /tmp/a/b/c
#pwd
/tmp/a/b/c

阅读全文>>

标签: linux cp touch mkdir

评论(0) 浏览(2946)

valid phone numbers

2018-9-4 杜世伟 awk

Given a text file file.txt that contains list of phone numbers (one per line), write a one liner bash script to print all valid phone numbers.

You may assume that a valid phone number must appear in one of the following two formats: (xxx) xxx-xxxx or xxx-xxx-xxxx. (x means a digit)

You may also assume each line in the text file must not contain leading or trailing white spaces.

Example:

Assume that file.txt has the following content:

987-123-4567
123 456 7890
(123) 456-7890
Your script should output the following valid phone numbers:

987-123-4567
(123) 456-7890

cat > file.txt <<EOF
987-123-4567
(123) 456-7890
0(001) 345-0000
(001) 123-345

阅读全文>>

标签: linux grep awk

评论(0) 浏览(2527)

"Exit Trap” 让你的 Bash 脚本更稳固可靠

2018-5-14 杜世伟 Linux

有个简单实用的技巧可以让你的 bash 脚本更稳健 -- 确保总是执行必要的收尾工作,哪怕是在发生异常的时候。要做到这一点,秘诀就是 bash 提供的一个叫做 EXIT 的伪信号,你可以 trap 它,当脚本因为任何原因退出时,相应的命令或函数就会执行。我们来看看它是如何工作的。

基本的代码结构看起来像这样:

#!/bin/bash
function finish {
  # 你的收尾代码
}
trap finish EXIT

你可以把任何你觉得务必要运行的代码放在这个 finish 函数里。一个很好的例子是:创建一个临时目录,事后再删除它。

#!/bin/bash
scratch=$(mktemp -d -t tmp.XXXXXXXXXX)
function finish {
  rm -rf "$scratch"
}
trap finish EXIT

这样,在你的核心代码中,你就可以在这个 $scratch 目录里下载、生成、操作中间或临时数据了。注1

阅读全文>>

标签: linux shell trap

评论(0) 浏览(2396)

在 Linux 下 9 个有用的 touch 命令示例

2018-5-2 杜世伟 Linux

touch 命令用于创建空文件,也可以更改 Unix 和 Linux 系统上现有文件时间戳。这里所说的更改时间戳意味着更新文件和目录的访问以及修改时间。

让我们来看看 touch 命令的语法和选项:

语法:

# touch {选项} {文件}
touch 命令中使用的选项:

touch-command-options

touch-command-options

在这篇文章中,我们将介绍 Linux 中 9 个有用的 touch 命令示例。

示例:1 使用 touch 创建一个空文件
要在 Linux 系统上使用 touch 命令创建空文件,键入 touch,然后输入文件名。如下所示:

[root@linuxtechi ~]# touch devops.txt
[root@linuxtechi ~]# ls -l devops.txt
-rw-r--r--. 1 root root 0 Mar 29 22:39 devops.txt

阅读全文>>

标签: linux cat touch stat

评论(0) 浏览(17142)

如何在 Linux 中查找最大的 10 个文件

2018-3-30 杜世伟 Linux

当系统的磁盘空间不足时,您可能会使用 df、du 或 ncdu 命令进行检查,但这些命令只会显示当前目录的文件,并不会显示整个系统范围的文件。
您得花费大量的时间才能用上述命令获取系统中最大的文件,因为要进入到每个目录重复运行上述命令。
这种方法比较麻烦,也并不恰当。
如果是这样,那么该如何在 Linux 中找到最大的 10 个文件呢?
我在谷歌上搜索了很久,却没发现类似的文章,我反而看到了很多关于列出当前目录中最大的 10 个文件的文章。所以,我希望这篇文章对那些有类似需求的人有所帮助。
本教程中,我们将教您如何使用以下四种方法在 Linux 系统中查找最大的前 10 个文件。
方法 1
在 Linux 中没有特定的命令可以直接执行此操作,因此我们需要将多个命令结合使用。

# find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10 
 
1.4G /swapfile 
1.1G /home/magi/ubuntu-17.04-desktop-amd64.iso 
564M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqTFU0XzkzUlJUZzA 
378M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqeldzUmhPeC03Zm8 
377M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqRGd4V0VrOXM4YVU 
100M /usr/lib/x86_64-linux-gnu/libOxideQtCore.so.0 
93M /usr/lib/firefox/libxul.so 
84M /var/lib/snapd/snaps/core_3604.snap 
84M /var/lib/snapd/snaps/core_3440.snap 
84M /var/lib/snapd/snaps/core_3247.snap 

详解:

find:在目录结构中搜索文件的命令
/:在整个系统(从根目录开始)中查找
-type:指定文件类型
f:普通文件
-print0:在标准输出显示完整的文件名,其后跟一个空字符(null)
|:控制操作符,将一条命令的输出传递给下一个命令以供进一步处理
xargs:将标准输入转换成命令行参数的命令
-0:以空字符(null)而不是空白字符(LCTT 译者注:即空格、制表符和换行)来分割记录
du -h:以可读格式计算磁盘空间使用情况的命令
sort:对文本文件进行排序的命令
-r:反转结果
-h:用可读格式打印输出
head:输出文件开头部分的命令
n -10:打印前 10 个文件

阅读全文>>

标签: linux find df du ncdu

评论(0) 浏览(2061)

那些实用的Nginx规则

2017-12-8 杜世伟 Nginx

1. 概述



大家都知道Nginx有很多功能模块,比如反向代理、缓存等,这篇文章总结下我们这些年实际环境中那些有用的Nginx规则和模块,大部分是用法的概括及介绍,具体细节在实际配置时再自行google。



2. 内置语法



先介绍Nginx默认已支持的内置功能,靠这些基本就满足大部分的web服务需求。


2.1 proxy代理


proxy常用于两类应用场景,一类是中转,如异地科学的上网方式,另外一类是到后端服务的负载均衡方案。

用反向代理时候,需要特别注意里面的域名默认是在nginx启动时候就解析了,除非reload否则一直用的是当初解析的域名,也就是说不能动态解析。

但这个问题是可以通过别的模块或者用内置字典变量方式来解决。

阅读全文>>

标签: linux nginx

评论(0) 浏览(15512)

500 internal server error

2017-12-1 杜世伟 Nginx

今天同事在使用开发服管理平台上传图片的时候服务器返回:500 internal server error/nginx
让我帮忙看下什么原因造成的
浏览器返回错误信息的时候抛出nginx,于是我登录服务器查看nginx的错误日志信息,发下如下信息
2017/12/01 10:47:49 [crit] 12775#0: *18 open() "/var/lib/nginx/tmp/client_body/0000000003" failed (13: Permission denied)
可以看到提示/var/lib/nginx/权限不足
可以通过以下命令查看权限信息
ls -la /var/lib/nginx
drwx------  3 nginx   nginx   4096 Sep 18 17:20 nginx

阅读全文>>

标签: linux error nginx server crit

评论(0) 浏览(12339)

Powered by emlog 沪ICP备2023034538号-1