标签: sysctl

如何在 MAC OS X 中获得最大 TCP 接收/发送窗口?

如何在 MAC OS X 中获得最大 TCP 接收/发送窗口?

Linux中有两个ctl。/proc/sys/net/core/rmem_max - 最大 TCP 接收窗口 (NET_CORE_RMEM_MAX) /proc/sys/net/core/wmem_max - 最大 TCP 发送窗口 (NET_CORE_WMEM_MAX)

但我找不到如何在 mac os 中获取这些参数。

有人知道吗?

我在 MAC OS X 中发现了以下 ctls:net.inet.tcp.recvspace、net.inet.tcp.sendspace、kern.ipc.maxsockbuf

似乎recvspace+sendspace 不能大于maxsockbuf。我在这里读过它:http : //www.macgeekery.com/tips/configuration/mac_os_x_network_tuning_guide_revisited

linux macos tcp sysctl

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

Node.js在很多并发连接上苦苦挣扎

我正在开发一个有点不同寻常的应用程序,其中10k客户正好计时,每隔3分钟左右一次尝试提交数据.这个'ab'命令相当准确地模拟了现实世界中的一个弹幕:

ab -c 10000 -n 10000 -r "http://example.com/submit?data=foo"
Run Code Online (Sandbox Code Playgroud)

我在Rackspacecloud VPS实例上使用Ubuntu 12.4上的Node.js来收集这些提交,但是,我看到Node的一些非常奇怪的行为,即使我删除了所有的业务逻辑并将http请求变为no-运.

当测试完成大约90%时,它会挂起很长一段时间.奇怪的是,这种情况一直发生在90% - 对于c = n = 10k,在9000; 对于c = n = 5k,在4500; 对于c = n = 2k,在1800.测试实际上最终完成,通常没有错误.但ab和节点日志都显示连续处理直到测试运行的大约80-90%,然后在完成之前长时间停顿.

当节点正常处理请求时,CPU使用率通常约为50-70%.在挂起期间,CPU上升到100%.有时它会保持在0附近.在不稳定的CPU响应和它看起来与实际连接数无关(只有%完成)的事实之间,我不怀疑垃圾收集器.

我试过在localhost和远程服务器上运行'ab' - 效果相同.

我怀疑与TCP堆栈有关的东西,可能涉及关闭连接,但我的配置更改都没有帮助.我的变化:

  • ulimit -n 999999
  • 当我listen()时,我将积压设置为10000

Sysctl的变化是:

net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_max_orphans = 20000
net.ipv4.tcp_max_syn_backlog = 10000
net.core.somaxconn = 10000
net.core.netdev_max_backlog = 10000
Run Code Online (Sandbox Code Playgroud)

我也注意到我倾向于在内核日志中获得这个消息:

TCP: Possible SYN flooding on port 80. Sending cookies.  Check SNMP counters.
Run Code Online (Sandbox Code Playgroud)

我很困惑这个消息,因为TCP积压队列应该足够深,永远不会溢出.如果我禁用syn …

ubuntu tcp apachebench sysctl node.js

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

使用sysctl()的每个进程的iOS cpu使用情况?

有没有办法使用sysctl()获取每个进程的CPU使用率?

我正试图找到一种方法来检测特定应用程序的启动.似乎没有办法让前台运行应用程序信息.所以我想如果我可以监控特定应用程序的CPU使用情况,我可以监控cpu使用情况的变化,并大致假设应用程序何时启动.这有可能吗?

我不打算将此应用程序发布到apple appstore.

这只是一项研究.因此,如果有任何方法可以做到这一点,我很高兴知道.

objective-c sysctl ios

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

Linux内核的Linux参数sysctl列表及其说明

有谁知道我在哪里可以找到sysctllinux 内核的参数列表及其解释?

我已经搜索过了,但一无所获。我也查看了内核头文件,结果相同。

linux kernel sysctl

7
推荐指数
2
解决办法
8750
查看次数

解决EC2上Ubuntu 16.04的overcommit_memory和透明大页面上的Redis警告

在新的Ubuntu 16.04 EC2实例上,警告如下所示:

WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to …
Run Code Online (Sandbox Code Playgroud)

ubuntu amazon-ec2 redis sysctl huge-pages

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

在macOS Sierra中启用崩溃进程的核心转储

我需要为SIGABRT,SIGBUS,etc等终止的进程启用核心转储文件创建.

在以前版本的MAC OS X(包括ElCapitan)中,我将为所有进程启用Code Dumps文件:

sudo sysctl -w kern.corefile=/Users/tester/core.%U.%P.%N.dump
sudo sysctl -w kern.coredump=1
sudo launchctl limit core unlimited
sudo ulimit -c unlimited
launchctl limit core unlimited
ulimit -c unlimited
Run Code Online (Sandbox Code Playgroud)

现在这种方式不起作用.在本网站上讨论新的gcore命令,但它适用于运行进程.对于KernelCoreDumps,您现在必须启用NVRAM变量官方.

coredump ulimit sysctl macos-sierra

6
推荐指数
1
解决办法
1439
查看次数

什么是来自 sysctl-monitor 的 NodeSysctlChange 节点事件

我有一个 GKE 集群,其中所有节点不断收到以下事件:

LAST SEEN   TYPE      REASON             OBJECT                                                     MESSAGE
29m         Warning   NodeSysctlChange   node/node-pool-5e40a405-u87f
25m         Warning   NodeSysctlChange   node/node-pool-61866872-0sc0
25m         Warning   NodeSysctlChange   node/node-pool-61866872-ozwt
19m         Warning   NodeSysctlChange   node/node-pool-e7c093e6-k2ee
Run Code Online (Sandbox Code Playgroud)

活动详情例如:

Name:             node-pool-e7c093e6-k2ee.16ac5739c250cd2b
Namespace:        default
Labels:           <none>
Annotations:      <none>
API Version:      v1
Count:            77
Event Time:       <nil>
First Timestamp:  2021-10-09T10:51:10Z
Involved Object:
  Kind:          Node
  Name:          node-pool-e7c093e6-k2ee
  UID:           node-pool-e7c093e6-k2ee
Kind:            Event
Last Timestamp:  2021-10-28T10:51:10Z
Metadata:
  Creation Timestamp:  2021-10-28T10:51:10Z
  Managed Fields:
    API Version:  v1
    Fields Type:  FieldsV1
    fieldsV1:
      f:count:
      f:firstTimestamp:
      f:involvedObject:
        f:kind:
        f:name:
        f:uid:
      f:lastTimestamp:
      f:reason:
      f:source: …
Run Code Online (Sandbox Code Playgroud)

sysctl kubernetes google-kubernetes-engine

6
推荐指数
0
解决办法
1910
查看次数

有没有人知道MAC OS X的NETLINK套接字API的等价物?

有没有人知道MAC OS X的NETLINK套接字API的等价物?我正在尝试将Linux应用程序移植到MAC OS X,我在MACOS中找不到类似的东西.

我需要在我的应用程序中提供对网络适配器的异步访问.

关于配置更改的轮询网络适配器每隔一定的秒数对我来说不方便解决.NETLINK Socket API游戏只有当有趣的事情发生时才接收通知.

我知道NETLINK是Linux内核和用户空间之间进行通信的特定事情,但也许在MACOS下存在类似NETLINK的东西.

我看到了与内核通信的唯一工具 - sysctl()

有没有人有任何信息?

sockets macos kernel sysctl netlink

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

Mac OS X Snow Leopard的默认/etc/sysctl.conf设置?

我尝试为Mac OS X 10.6安装PostgreSQL 9.1.2并且它要求我编辑/ etc /目录中的sysctl.conf文件,因此它可以使用PostgreSQL要求的更多共享内存.

我继续编辑文件,保存,重新启动,然后在登录屏幕上我被要求登录为安全启动由于某种原因,我登录并且互联网似乎没有工作,停靠菜单是滞后的.

所以很明显这是因为我在重启之前编辑的sysctl.conf文件,所以我回到/ etc目录并删除了sysctl.conf文件,认为它会自动创建一个新的sysctl.conf文件使用默认设置但即使重新启动后也不是这种情况.

所以现在我几乎没有sysctl.conf文件,我阅读了Mac Developer文档中的这个文件并没有多说.我知道我可能不应该弄乱我没有线索的文件,但我真的想让PostgreSQL为我的本地Ruby on Rails开发工作.

关于这个主题的任何内容都会有所帮助.

postgresql macos sysctl

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

在iOS9中使用"hw.machine"标志调用"sysctlbyname(...)"

在WWDC 2015会议"703隐私和您的应用程序"之后,使用了更改sysctl.现在,我们将无法再调用kern.proc,查看来自任何其他进程的数据kern.procargs,kern.procargs2而不是自己的数据.这是一个非常合法的隐私硬化Apple.

任何人都可以证实,调用sysctlbyname(...)hw.machine获取确切的设备名称是允许在iOS9且不受上述限制?

sysctl ios ios-9-beta3

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