标签: kernel

未启用 Intel Turbo Boost

我正在尝试在我的服务器上启用 Turbo Boost。根据英特尔的产品页面,我使用的是英特尔至强 E5 2630 v3,它应该支持高达 3.2Ghz 的 Turbo Boost 。

问题是处理器没有超频,并且使用 2.4 GHz 作为最大频率。为了测试操作系统是否是问题所在(我已经测试了 Linux Mint 和 Debian),我将 SSD 安装在我的计算机中,并且配备了 i7 3770,Turbo Boost 运行得非常好。

这是“cpupower”命令的输出:

mint@mint ~ $ cpupower frequency-info
analyzing CPU 0:
  driver: pcc-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  hardware limits: 1.20 GHz - 2.40 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 1.20 …
Run Code Online (Sandbox Code Playgroud)

linux kernel debian intel turbo-core

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

何时执行 menuconfig 更改?

我正在使用 CentOS,并且我已经使用make menuconfig.

但是,它是如何工作的?在menuconfig中更改后,是不是在瞬间进行修改?还是我必须编译整个内核才能获得此配置?

linux drivers kernel

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

Docker“无法分配内存”——虚拟内存调优

我们正在 AWS EC2 内构建在 Centos7 之上的 Jenkins 实例中构建或运行 Docker 容器。我们有 2 个带有 2 个 CPU 和 3.5 Gb 可用内存的 t2.medium 盒实例。
在一种情况下,我们正在另一个中构建容器,我们只是拉动它们并运行(不同的容器)。

我们开始出现错误

open /var/lib/docker/overlay/<sha>-init/merged/dev/console: cannot allocate memory
Run Code Online (Sandbox Code Playgroud)

journalctl我们得到

page allocation failure: order:4
Run Code Online (Sandbox Code Playgroud)

运行页面缓存转储可以暂时解决问题

echo 1 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)

所以我注意到在运行 docker 任务时,Dirty内存块会出现峰值(应该如此)并Mapped在它之后跳跃。然而,DirectMap4k相对接近那个跳跃。

例如:
闲置机器

cat /proc/meminfo | grep -P "(Dirty|Mapped|DirectMap4k)"
Dirty:               104 kB
Mapped:            45696 kB
DirectMap4k:      100352 kB
Run Code Online (Sandbox Code Playgroud)

主动机

cat /proc/meminfo | grep -P "(Dirty|Mapped|DirectMap4k)"
Dirty:             72428 kB
Mapped:            70192 kB
DirectMap4k: …
Run Code Online (Sandbox Code Playgroud)

rhel kernel memory out-of-memory docker

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

iptables:无链/目标/匹配 ULOG

我想使用ULOG防火墙日志并将其发送到ulogd2

iptables -A INPUT -i eth0 -j   ULOG
Run Code Online (Sandbox Code Playgroud)

给我以下错误:

iptables: No chain/target/match by that name
Run Code Online (Sandbox Code Playgroud)

我在内核中启用了这些与日志相关的选项:

CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NF_LOG_COMMON=y
CONFIG_NETFILTER_XT_TARGET_LOG=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NF_LOG_IPV4=y
Run Code Online (Sandbox Code Playgroud)

ULOG 还需要什么才能工作?

我没有看到任何 ULOG 选项(搜索 ULOG 时没有找到)

我的内核是 4.4。

logs firewall kernel iptables

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

zstd for zram 实际上在 Linux 4.15 中可用吗?

我在zstd中找到/drivers/block/zram/zcomp.c,但在 中找不到任何与 zstd 相关的内容/crypto。那么 zstd for zram 是否真的在 Linux 4.15 中可用?

linux kernel zram zstd

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

为什么将 cpu_idle 作为 start_kernel 例程的最后一个函数调用?

我读start_kernel的功能/init/main.c。所谓的最后一个功能start_kernelrest_init,在年底rest_initcpu_idle被调用。

为什么它被称为start_kernel例程的最后一个函数,它有什么作用?

cpu c kernel linux-kernel

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

bash: /var/log/rkhunter.log: 权限被拒绝(作为 root - Linux Mint 18.3)

我认为我的 Linux 笔记本电脑被黑了,原因有以下三个:

  1. 每当我将文件保存到 Home 文件夹中时,这些文件都不会出现——甚至不会出现在我计算机上的其他文件夹中。

  2. 我的主文件夹中出现了一个陌生的 .txt 文件。看到后,我没有打开它。我立即怀疑我的笔记本电脑可能被黑了。

  3. 检查我的防火墙状态时,结果发现它处于非活动状态。

Thus, I have taken the following steps:

  1. I backed-up all of my recent files using two USB Sticks that aren't as important as other USB Sticks which I own - so in case those USB Sticks get infected with the potential malware, it wouldn't infect my other backed-up important files.

  2. I've used ClamTK in order to scan the aforementioned suspicious file - but apparently, for some reason, it hasn't detected …

bash kernel permissions malware

3
推荐指数
2
解决办法
2816
查看次数

你怎么称呼`int 0x80`背后的调用约定?

我知道有一个syscall约定,但是您在调用之前看到的调用约定是什么,int 80而不是syscall像这样调用。

mov  rax,4     ; system call number (sys_write)
mov  rbx,1     ; file descriptor (stdout)
mov  rcx,hello ; message to write
mov  rdx,12    ; message length
int  0x80      ; call kernel
Run Code Online (Sandbox Code Playgroud)

在这里读到后面的参数rdxesi, edi, ebp(或对于 x64 rsi, rdi, rbp),我没有看到它记录在Wikipedia 的调用约定页面中,但是int80h似乎表明 Windows 也使用这个约定?

这是什么约定俗成的名字。我可以在 Linux 内核源代码中的哪个位置看到它的定义?并且,rax当您调用时解析为过程的表在哪里int 0x80?对于syscallsys_writerax=1

linux kernel conventions assembly

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

当我在 Linux 中调用 printf 之类的函数时,虚拟内存中究竟发生了什么?

我问的是许多进程可能会使用的 printf 之类的函数,并且还需要内核的帮助来处理系统调用之类的事情。

对发生的事情的详细分步描述是什么?因为我在这方面有点困惑,所以我有这些问题:

  1. printf 函数的指令是否在我们用户进程的内核部分?当它尝试执行 printf 时,我们对同一用户进程中的内核位置执行 JMP,但我们进入内核模式?或者是否有上下文切换和内核进程执行此操作?

  2. 执行 printf 等函数的所有进程在其虚拟内存中调用 printf 时是否都映射到相同的物理内存位置?

  3. 总的来说,非内核进程使用虚拟内存的内核部分的情况有哪些?

在此处输入图片说明

kernel memory virtual-memory

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

可以在运行时设置 no_console_suspend 吗?

是否可以在不重新启动的情况下在运行时更改此值?我并不总是有这个问题,当我现在暂停时,我遇到了失败并且

暂停控制台(no_console_suspend用于调试)

我想现在调试,而不必重新启动并重新创建问题。

kernel options kernel-parameters

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