标签: sysctl

更改每个连接的拥塞控制算法

linux 中的“sysctl”命令现在全局更改了整个系统的拥塞控制算法。但是拥塞控制,其中 TCP 窗口大小和其他类似参数是变化的,通常是每个 TCP 连接完成的。所以我的问题是:

  • 是否存在一种方法可以更改每个 TCP 连接使用的拥塞控制算法?

还是我在这里遗漏了一些微不足道的东西?如果是,那是什么?

linux congestion-control sysctl

5
推荐指数
2
解决办法
5879
查看次数

在iOS4上获取特定进程的CPU使用率

我试图从使用Apple SDK在iOS4上运行的后台应用程序获取各种进程(cpu ticks)的CPU使用率.这完全取决于用户的同意,因此这里没有任何不道德的行为.

我已经使用sysctl获取进程列表,但进程的cpu ticks始终从设备返回为0.或者,我试图寻找前台进程并每隔几秒轮询一次以获得应用程序的使用方式.但是,没有API /标志指示进程是在前台还是后台运行.我检查了一个进程的内存消耗,并确定它是否在后台运行(如果在后台,内存不会波动).但是,API proc_pidinfo是私有的,Apple拒绝了该应用.

我看过一些与这些话题有关的帖子,但没有得到明确的答案.

我知道沙拳不会允许获取其他应用程序的信息(顺便说一句,顺便说一句,不是真的,因为sysctl给出了PID,进程名称和开始时间).但是,我在Zokem的appstore上看到了一个名为MyLife的应用程序,他们报告了这些信息.它们准确到秒.我想知道是否有系统日志或数据库存储此信息.

任何人都有关于获取应用程序使用时间的想法?

cpu-usage usage-statistics sysctl ios4

5
推荐指数
0
解决办法
1064
查看次数

如何从用户空间获取映射内存区域的数量(mm_struct->map_count)

我想将映射内存区域的数量添加到我的守护进程的状态报告中。

您可能想要这样的原因有很多:

  1. 有一个限制(vm.max_map_count),所以最好监控当前值。
  2. 不断增长的数字可能是导致不必要的虚拟内存碎片的分配器错误的迹象。
  3. 越来越多的数字可能是泄漏文件映射的迹象。它们不一定会导致 RSS 增长,也可能不会触发 OOM。但是,它们会污染 VMA 树并可能超过 max_map_count 限制。

问题是:从流程内部获取此数字的最佳方法什么?

一种方法是计算 /prof/self/map 中的行数,但它看起来并不理想。我既不想解析一个 10K 行的文本文件来获取单个整数,也不想每次都实现整个缓冲区。

内核中已经有一个计数器(mm_struct->map_count),所以我希望它出现在 /proc/self/* 的某个地方,但实际上找不到它。有任何想法吗?

linux mmap procfs sysctl

5
推荐指数
0
解决办法
257
查看次数

Ansible:无法重新加载 sysctl:sysctl:无法 stat /proc/sys/net/bridge/bridge-nf-call-iptables:没有这样的文件或目录

我正在使用 ansible 设置 kubernetes 集群。尝试启用内核 IP 路由时出现以下错误:

Failed to reload sysctl: sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这是 ansible 中的错误还是我的剧本有问题?

---
# file: site.yml
# description: Asentaa ja kaynnistaa kubernetes-klusterin riippuvuuksineen
#
# resources:
#   - https://kubernetes.io/docs/setup/independent/install-kubeadm/
#   - http://michele.sciabarra.com/2018/02/12/devops/Kubernetes-with-KubeAdm-Ansible-Vagrant/
#   - https://docs.ansible.com/ansible/latest/modules/
#   - https://github.com/geerlingguy/ansible-role-kubernetes/blob/master/tasks/setup-RedHat.yml
#   - https://docs.docker.com/install/linux/docker-ce/centos/
#
# author: Tuomas Toivonen
# date: 30.12.2018

- name: Asenna docker ja kubernetes

  hosts: k8s-machines
  become: true
  become_method: sudo

  roles:
    - common

  vars:
    ip_modules:
      - ip_vs
      - …
Run Code Online (Sandbox Code Playgroud)

kernel iptables sysctl ansible kubernetes

5
推荐指数
2
解决办法
8687
查看次数

使用 Ansible 在 sysctl 中设置多个值

我有一个剧本,其中有几个任务为 sysctl 设置值。如何使用 sysctl 模块通过一个任务设置所有值,而不是为每个设置分配一个任务?

剧本片段:

- name: Set tcp_keepalive_probes in sysctl
  become: yes
  sysctl:
    name: net.ipv4.tcp_keepalive_probes
    value: 3
    state: present
    reload: yes

- name: Set tcp_keepalive_intvl in sysctl
  become: yes
  sysctl:
    name: net.ipv4.tcp_keepalive_intvl
    value: 10
    state: present
    reload: yes

- name: Set rmem_default in sysctl
  become: yes
  sysctl:
    name: net.core.rmem_default
    value: 16777216
    state: present
    reload: yes
Run Code Online (Sandbox Code Playgroud)

sysctl ansible

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

为什么“echo l > /proc/sysrq-trigger”调用跟踪输出总是相似的?

根据官方 kernel.org 文档 echo l > /proc/sysrq-trigger应该给我所有 CPU 的当前调用跟踪。但是当我这样做几次并查看dmesg之后,调用跟踪看起来完全相似。这是为什么?

linux call backtrace linux-kernel sysctl

4
推荐指数
1
解决办法
5078
查看次数

Linux shmmax 和 shmall - 如何设置正确的单位?

我有一台内存为 16 GB 的服务器。

现在我需要设置我的shmmaxshmall,因为服务器默认值是(用 进行检查ipcs -l

------ Messages Limits --------
max queues system wide = 32000
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 18014398509465599
max total shared memory (kbytes) = 18014398509465599
min seg size (bytes) = 1

------ Semaphore Limits --------
max number of arrays = 32000
max semaphores …
Run Code Online (Sandbox Code Playgroud)

linux postgresql ubuntu sysctl

4
推荐指数
1
解决办法
6911
查看次数

在C中找出Linux和FreeBSD上的MAC地址

我试图找出MAC地址,我设法在Linux中使用sysctl创建工作解决方案,问题是,这个解决方案不适用于我正在开发的FreeBSD版本.除了使用sysctl之外,有什么办法可以在C中找到mac地址吗?

c linux freebsd mac-address sysctl

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

获取从另一个用户运行的应用程序的包标识符

场景是这样的:"我从一个用户运行一个app(比如myproc)然后快速用户切换到第二个用户"
现在,当我尝试确定所有使用特定束标识符运行的进程时(比如com.ak.myproc) ; 我无法确定从第一个用户运行的进程.

我尝试过以下但是徒劳无功:

  1. [NSRunningApplication runningApplicationsWithBundleIdentifier:]
  2. [[NSWorkspace sharedWorkspace] runningApplications] 然后比较每个应用程序的包标识符 - 为第一个用户运行的应用程序甚至不显示在此列表中.
  3. 使用sysctl()然后迭代进程列表 - 这里,来自第一个用户的应用程序的pid确实来了.之后:
    • 当我尝试时[NSRunningApplication runningApplicationWithProcessIdentifier:],我没有.
    • 当我尝试GetProcessForPID()跟着时ProcessInformationCopyDictionary(),我得到一个零字典.
    • 当我尝试GetProcessForPID()跟着时GetProcessInformation(),我没有得到任何有用的东西ProcessInfoRec.

有人可以帮忙吗?谢谢.

操作系统:Mac OS X 10.8.4
Xcode:4.6.2

macos sysctl cfbundleidentifier nsworkspace nsrunningapplication

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

Nginx 静态文件服务 10Gbps 服务器的性能问题

我正在使用 Nginx 在专用服务器上提供静态文件。该服务器没有网站,它只是一个文件下载服务器。文件大小范围从 MB 到 GB。

以前,我在 unmetered.com 上有 8 个速度为 500 Mbps 的专用服务器。他们每个人的表演都很棒。

我想从 FDCServers 购买 10Gbps 服务器。因为一台服务器比多台服务器更容易管理。

以下是服务器的规格:

双 Xeon E5-2640(15M 高速缓存,2.50 GHz,7.20 GT/s Intel® QPI) - 24 核 128 GB RAM 10 Gbit/s 网络未计量 Ubuntu 14.04 LTS 1.5 TB SATA

但是我的新巨型服务器的速度没有超过 500 到 600 Mbps。我安装了 nload 来监控流量和上传/下载速度。它的报告几乎与之前的 unmetered.com 服务器相同。

然后我想可能是由于SATA硬盘的读取速率限制。

所以我在新的强大服务器中购买并安装了 3 X 240 GB SSD 驱动器。

我将文件移动到 SSD 驱动器并下载它以进行测试。速度还是不行。我只有 250 到 300 Kbps。而它应该给我至少 2Mbps(这是我放置在 Nginx 配置文件中的每个 IP 的速度限制)。

然后我搜索了千兆以太网调整设置。发现需要针对 10Gbps 网络调整的几个 sysctl 设置。

http://www.nas.nasa.gov/hecc/support/kb/Optional-Advanced-Tuning-for-Linux_138.html

我实现了它们,但吞吐量仍然与我以前的 500Mbps …

performance nginx static-files sysctl dedicated-server

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