小编Flu*_*lup的帖子

ionice 是否与截止日期调度程序一起工作?

我的 Debian Wheezy 系统使用deadline调度程序。我习惯于ionice在繁忙时间使用重新安排磁盘密集型作业的 I/O 优先级,据说这似乎有帮助(但我没有任何确凿的证据)。

手册ionice内核文档这个 OpenSUSE 文档都表明只有cfq调度程序会考虑ionice干预。他们没有明确声明其他调度程序忽略它,但他们提到的唯一一个是cfq.

其他调度程序,特别是deadline,与ionice?

linux performance

15
推荐指数
1
解决办法
3473
查看次数

DNS 查找有时需要 5 秒

我有一个运行 Debian Wheezy 的虚拟机,即使解析器立即回复,某些主机名查找也需要几秒钟才能完成。奇怪的是,查找getaddrinfo()会受到影响,但gethostbyname()不会。

我已经切换到 Google 解析器以排除本地解析器损坏的可能性,所以我/etc/resolv.conf看起来像:

search my-domain.com
nameserver 8.8.4.4
nameserver 8.8.8.8
Run Code Online (Sandbox Code Playgroud)

nsswitch.conf的线路:

hosts: files dns
Run Code Online (Sandbox Code Playgroud)

而我的/etc/hosts不包含任何异常。

如果我尝试telnet webserver 80,它会在获得名称解析之前挂起几秒钟。的ltrace输出[1]示出了悬挂在一个getaddrinfo()呼叫:

getaddrinfo("ifconfig.me", "telnet", { AI_CANONNAME, 0, SOCK_STREAM, 0, 0, NULL, '\000', NULL }, 0x7fffb4ffc160) = 0 <5.020621>
Run Code Online (Sandbox Code Playgroud)

然而,tcpdump显示名称服务器立即回复,并且只有在第二次回复时才telnet解锁。回复看起来相同:

05:52:58.609731 IP 192.168.1.75.43017 > 8.8.4.4.53: 54755+ A? ifconfig.me. (29)
05:52:58.609786 IP 192.168.1.75.43017 > 8.8.4.4.53: 26090+ AAAA? ifconfig.me. (29)
05:52:58.612188 IP 8.8.4.4.53 > …
Run Code Online (Sandbox Code Playgroud)

linux dns

12
推荐指数
2
解决办法
1万
查看次数

我可以从 atop 1.23 数据文件中提取完整的命令行吗?

我的生产服务器有atop1.23 版,我有一个由它编写的数据文件,我需要从中提取进程的完整命令行。

很遗憾:

  • 此版本atop不会显示超出显示第 80 列的数据
  • 水平滚动仅在 1.27 中引入
  • 新版本拒绝读取旧版本写入的数据文件
  • 文件本身是压缩的,所以简单的strings搜索是行不通的

有什么办法可以从我的数据文件中恢复完整的命令行吗?

atop

8
推荐指数
2
解决办法
3494
查看次数

为什么 unsetenv() 不修改 /proc/pid/environ?

我只是在看这个问题并编写了一个 noddy 程序来演示unsetenv()修改/proc/pid/environ. 令我惊讶的是它没有效果!

这是我所做的:

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int main(void)
{
  printf("pid=%d\n", getpid());
  printf("sleeping 10...\n");
  sleep(10);
  printf("unsetenv result: %d\n", unsetenv("WIBBLE"));
  printf("unset; sleeping 10 more...\n");
  sleep(10);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

然而,当我跑

WIBBLE=hello ./test_program
Run Code Online (Sandbox Code Playgroud)

然后我WIBBLEunsetenv()运行前后的环境中看到:

# before the unsetenv()
$ tr '\0' '\n' < /proc/498/environ | grep WIBBLE
WIBBLE=hello
# after the unsetenv()
$ tr '\0' '\n' < /proc/498/environ | grep WIBBLE
WIBBLE=hello
Run Code Online (Sandbox Code Playgroud)

为什么不unsetenv()修改/proc/pid/environ?

environment-variables glibc

7
推荐指数
1
解决办法
1612
查看次数

可以 apt 升级软件包,但前提是它已经安装了?

有没有一种方法可以将apt待处理的升级应用于软件包,但如果未安装则不执行任何操作?

我有许多 Debian 系统,都带有不同的软件包集,我想在特定补丁可用时应用它们。我想在我的所有系统上运行相同的命令,但不安装丢失的软件包。通常我会用来apt-get install package进行升级,但这会将其安装在尚不存在的位置。

我可以用类似的方法来解决这个问题

(dpkg -l package | grep '^ii') && apt-get install package
Run Code Online (Sandbox Code Playgroud)

但还有更好的办法吗?

debian apt

5
推荐指数
1
解决办法
1986
查看次数

CUPS 错误日志包含“No such interface `org.freedesktop.ColorManager'”

在我的 Ubuntu 13.04 笔记本电脑上,CUPS/var/log/cups/error_log在重启时为每台打印机写入此消息:

W [25/Jun/2013:10:00:26 +0100] AddProfile failed: org.freedesktop.DBus.Error.UnknownMethod:No such interface `org.freedesktop.ColorManager' on object at path /org/freedesktop/ColorManager/devices/cups_Brother_HL_2150N_series
Run Code Online (Sandbox Code Playgroud)

我在打印时没有遇到任何问题,但我想知道为什么会出现该消息以及我能做些什么。理想情况下,我希望在不盲目安装驱动程序和软件包的情况下解决问题;我想确切地了解该消息出现的原因。

cups

3
推荐指数
1
解决办法
4467
查看次数

如何在“登录为:”提示之前显示 SSH 横幅?

CentOS 5.x

当我Banner /path/to/banner在 sshd 配置文件中启用该参数时,横幅会在login as:提示后显示。

例如:

login as: foo
***********************************************************
Test Example SSH Banner Text
This is a test
Example 12345
***********************************************************
foo@1.2.3.4's password:
Run Code Online (Sandbox Code Playgroud)

诚然,对于使用在连接之前已指定的用户名进行连接的 ssh 连接来说,这不是问题。但是对于没有预先选择用户名的 ssh 连接,用户在连接时会看到:

login as:
Run Code Online (Sandbox Code Playgroud)

有没有办法让横幅在login as:提示之前显示?

centos openssh sshd

3
推荐指数
1
解决办法
9611
查看次数

标签 统计

linux ×2

apt ×1

atop ×1

centos ×1

cups ×1

debian ×1

dns ×1

environment-variables ×1

glibc ×1

openssh ×1

performance ×1

sshd ×1