AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-52811

UpTheCreek's questions

Martin Hope
UpTheCreek
Asked: 2017-04-17 09:32:26 +0800 CST

什么可能导致 strace 结果中重复的 mmap/munmap?

  • 2

我有一个 (node.js) 应用程序,它偶尔会导致 100% 的 CPU 使用率。当它处于这种状态时,我已经附加到该过程strace- 但如果 strace 输出,我不知道该怎么做。结果在这两种模式之间重复(缩短):

mmap(0x30c3ac700000, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x30c3ac700000
mmap(0x3364514ba000, 2097152, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x3364514ba000
munmap(0x3364514ba000, 286720)          = 0
munmap(0x336451600000, 761856)          = 0
mmap(0x336451500000, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x336451500000
mmap(0x2b9c33880000, 2097152, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x2b9c33880000
munmap(0x2b9c33880000, 524288)          = 0
munmap(0x2b9c33a00000, 524288)          = 0
...

和...

munmap(0x2b9c33900000, 1048576)         = 0
munmap(0x336451500000, 1048576)         = 0
munmap(0x30c3ac700000, 1048576)         = 0
munmap(0x247e37500000, 1048576)         = 0
munmap(0x20d76c800000, 1048576)         = 0
munmap(0x1cae0d600000, 1048576)         = 0
munmap(0x163545100000, 1048576)         = 0
munmap(0x32dcfe700000, 1048576)         = 0
munmap(0x1a1feff00000, 1048576)         = 0
munmap(0x3fb72f00000, 1048576)          = 0
munmap(0x366536900000, 1048576)         = 0
...

任何人都可以阐明这里可能发生的事情吗?谢谢!

node.js
  • 1 个回答
  • 1173 Views
Martin Hope
UpTheCreek
Asked: 2016-03-08 04:10:51 +0800 CST

虚拟机移动后 Haproxy 无法启动(Debian 8 [systemd])

  • 0

我们在 Debian 8 虚拟机上运行 HAProxy 1.6.1。我正在将我们的 2 个实例移动到不同大小的 VM,但是,当我重新启动时,它们并没有恢复。

我什至无法运行 haproxy 二进制文件。这是我尝试时得到的结果:

  ./haproxy
  Illegal Instruction

  sudo ./haproxy
  [no output]

  ./haproxy -v
  Illegal Instruction

  sudo/haproxy -v
  [no output]

如果我尝试使用 -c -f 检查配置也是一样(尽管我认为这不是配置问题)。

这是我在 kern.log 中的内容:

  Mar  7 11:41:41 rproxyws1 kernel: traps: haproxy[4031] trap invalid opcode ip:4843a0 sp:7fff51856ac8 error:0 in haproxy[400000+cf000]

似乎确实发生的一件事是在迁移过程中进行了内核更新(从 4.1.5 到 4.4.0),但我已经手动更新到旧内核,但新问题仍然存在。

有没有人有任何想法!?谢谢!

debian
  • 2 个回答
  • 323 Views
Martin Hope
UpTheCreek
Asked: 2015-11-24 07:28:05 +0800 CST

Haproxy - 从子域中动态选择后端

  • 6

我最近发现,您可以根据请求主机头动态匹配后端,如下所示:

 use_backend %[req.hdr(host),lower]

但是,有谁知道我可以使用请求主机头的子域来匹配后端吗?

例如,沿着这些思路:

backend one
backend two

use_backend %[<SUBDOMAIN OF HOSTHEADER>,lower]

这将像这样匹配:

 one.example.com -> backend one
 two.example.com -> backend two
haproxy
  • 2 个回答
  • 9056 Views
Martin Hope
UpTheCreek
Asked: 2015-10-21 23:47:29 +0800 CST

Nginx - 删除 Last_Modified 标头也会删除 CORS 标头?

  • -1

我正在尝试从 Nginx 响应中删除 Last_Modified 标头。

我读过这可以通过配置中的这一行来实现:

 add_header Last-Modified '';

这可行,但是由于某种原因,我们的 CORS 访问控制标头不再被发送。我假设这可能是一个错误(我们在 v1.2.6 上),但希望得到其他人的意见。

为什么会这样?以及如何删除 Last-Modified,但保留 Access-Control 标头?

我们的配置文件如下所示:

http {

    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Credentials' 'true';

    server {
        listen 80;
        server_name xxxxxxxxxxxxxxxxx;
        root xxxxxxxxxxxxxxxxx

        expires 1y;
        log_not_found off;

        add_header Last-Modified '';
    }
}
nginx
  • 1 个回答
  • 1358 Views
Martin Hope
UpTheCreek
Asked: 2014-11-05 05:55:29 +0800 CST

ulimit 文件描述符限制不适用于特定进程

  • 16

我最近检查了我们的一个 redis 进程,以了解应用了哪些 ulimit:

cat /proc/<redis-pid>/limits

并且惊讶地得知这是在低默认值:

Limit                     Soft Limit           Hard Limit           
Max open files            4016                 4016 

我很惊讶,因为我们配置了以下内容:

# /etc/sysctl.conf 
fs.file-max = 100000

.

# /etc/security/limits.conf
* soft nofile 100000
* hard nofile 100000

.

# /etc/ssh/sshd_config
UsePAM yes

.

# /etc/pam.d/sshd
session required pam_limits.so

谁能告诉我为什么增加的 ulimit 没有应用于正在运行的 redis 进程?

redis 进程以用户“redis”运行,由于限制增加,服务器已重新启动。我们在 Debian Squeeze 上。

linux
  • 3 个回答
  • 23983 Views
Martin Hope
UpTheCreek
Asked: 2014-11-05 01:27:04 +0800 CST

如何在 Linux 上检查当前的 TCP 拥塞窗口?

  • 1

有谁知道如何检查 的当前值initcwnd?(特别是在 Debian [Squeeze] 上)

我已经搜索过,但找不到明确的答案。我没有改变它,但可能要取决于它的当前设置。

linux
  • 2 个回答
  • 3111 Views
Martin Hope
UpTheCreek
Asked: 2014-08-31 23:30:22 +0800 CST

了解 syslog 中的 ntpd 条目

  • 0

有谁知道系统日志中的这个条目是什么意思:

static1 ntpd[2397]: 2a00:xxxx:xxxx:239::2 interface 2a01:xxxx::xxxx:xxxx:fe70:a40c -> (null)

(我已经用 xxxx 替换了一些值)

谢谢

debian
  • 1 个回答
  • 181 Views
Martin Hope
UpTheCreek
Asked: 2013-09-16 23:51:38 +0800 CST

Mongodb Config 服务器上的磁盘 IO 非常高

  • 2

也许有人可以告诉我这是否是预期的(这对我来说似乎不正常)......在我的所有 3 个配置服务器上,我看到一致的高磁盘 IO,即使分片集群的活动非常低。根据 iotop 的说法,mongodb 进程导致磁盘写入在大约 500KB/s 和 1000KB/s 之间波动(几乎没有读取)。我知道日志文件会不断更新同步消息(并且希望不记录这些消息),但看看尾巴这些平均每秒大约 1 行的频率,所以我不相信这可以考虑我看到的 IO 统计信息。

据我了解,配置服务器实际上并不需要做那么多,主要需要跟踪数据是如何分片的(而且由于目前数据库写入量很低,所以这种情况并不多)。我在 Debian 6 64 位上运行。

谁能告诉我这里可能会发生什么?

linux
  • 1 个回答
  • 1980 Views
Martin Hope
UpTheCreek
Asked: 2013-05-15 01:25:31 +0800 CST

HAProxy 负载平衡后端 - 一台服务器停机时的行为

  • 1

我的理解是,如果有两个服务器后端由 HAProxy 负载平衡,如果一个出现故障,HAProxy 应该能够将所有流量引导到另一个。

我有两个带有 roundrobin 和 httpchk 的负载均衡网络服务器,但是当其中一个出现故障时,我会收到503 - Service unavailable来自 HAProxy 的消息。也许我的配置有问题?

backend app
    timeout server 50000ms
    mode http
    balance roundrobin
    option httpchk

    server ap1 ap1:8000 maxconn 4000 #ap1 is hostname
    server ap2 ap2:8000 maxconn 4000 #ap2 is hostname
linux
  • 1 个回答
  • 1866 Views
Martin Hope
UpTheCreek
Asked: 2013-04-26 00:34:19 +0800 CST

我可以在 bash 脚本中使用分配给虚拟网络接口的 IP 吗?

  • 2

我想知道是否可以动态读取网络接口的 IP 地址以用于 bash 脚本。就像是:

#!/bin/bash
MYPUBLICIP= get_eth0_address
MYPRIVATEIP= get_eth0:0_address
  • 我该怎么做?
  • 是否可以区分eth0和虚拟eth0:0?

[背景] 我正在尝试编写一个脚本来将各种规则应用于一组 VPS 的 iptables。我试图避免摆弄每台机器的各个 IP。

linux
  • 2 个回答
  • 195 Views
Martin Hope
UpTheCreek
Asked: 2013-04-23 13:37:20 +0800 CST

使用 init 脚本启动过程的奇怪行为

  • 1

使用 init 脚本启动进程时,我看到了一些奇怪的行为。很可能我在做一些愚蠢的事情,但也许有人可以让我知道是什么导致了这种行为:

[背景:该进程是作为配置服务器 (2.4) 运行的 mongodb monogod,我在 Debian 6 上运行。该进程在用户“mongodb”下运行,我以非 root 用户身份通过​​ SSH 发出命令]

  • 当服务器启动时,进程似乎正常启动(我可以通过 ps -ef 看到它,并且生成了一个 mongodb.pid 文件)。
  • 如果我尝试通过 停止进程sudo /etc/init.d/mongodb stop,那么奇怪的事情就开始了:我明白了mongodb apparently not running。(尽管进程和 pid 仍然存在)。
  • 当然,如果我sudo /etc/init.d/mongodb start现在尝试“失败”并且日志中出现关于已在使用的端口的错误,这是可以预料的,因为实际上已经有一个实例在运行。
  • 如果我 kill -15 这个过程然后尝试sudo /etc/init.d/mongodb start我会变得更奇怪:在控制台中我得到Starting database: mongodb failed!(没有更多信息)。但是......该进程现在正在运行并且在日志中我没有看到任何错误,它看起来好像该进程已正常启动。
  • 如果我尝试停止此过程, sudo /etc/init.d/mongodb stop我会得到mongodb apparently not running.

有问题的脚本在这里。

有任何想法吗?谢谢!

编辑:如果它与 mongo 相关,这是我的配置服务器的 mongodb.conf:

configsvr=true

dbpath=/data/configdb

logpath=/var/log/mongodb/mongodb.log
logappend=true

port = 28222
bind_ip = a_public_ip,127.0.0.1,a_private_ip

auth = true
keyFile = /srv/mongodb/keyfile

nohttpinterface = true

fork = true

另外:我Starting database: mongodb failed!在启动屏幕上看到了(但仍然有一个进程在启动后似乎正常运行)。

linux
  • 1 个回答
  • 1019 Views
Martin Hope
UpTheCreek
Asked: 2013-04-23 00:11:08 +0800 CST

Mongodb 分片 - mongos 进程的初始化脚本?

  • 4

我一直在将 mongodb 作为副本集运行,并且最近尝试移动到分片集群。

我有点不确定的一件事是我应该如何启动 mongos 进程。之前我在安装mongodb时使用的是10gen rpms,它为mongod服务安装了一个init.d脚本。我想让 mongos 以类似的方式运行,但我不确定我应该如何真正做到这一点。是编写自定义初始化脚本的情况吗?

我在 Debian 6 和 Mongodb 2.4

[我之前在 mongodb google 组中发布了这个问题,但由于我没有得到任何回复而复制到这里 - 我也会在此处添加任何回复]

mongodb
  • 2 个回答
  • 4143 Views
Martin Hope
UpTheCreek
Asked: 2013-03-24 02:06:35 +0800 CST

这是为静态内容服务扩展 Nginx 的明智方法吗?

  • 4

我需要设置一些 VPS 来提供静态内容(许多小文件)。我计划为此使用 Nginx,并希望对其进行设置,以便我们能够相对轻松地进行横向扩展。要求是:

  • 许多文件(至少数十万)。
  • 小文件大小(小于 10KB)。
  • 相邻服务器上的应用程序不断添加文件。
  • 新文件必须立即可供所有 Nginx 服务器使用。

我目前的计划是:

  • 拥有一个带有包含所有文件的 NFS 共享的“主”服务器。
  • 生成新文件的应用程序仅与 master 交互。
  • 让多个 Nginx 服务器挂载此 NFS 共享。
  • 跨 Nginx 实例的负载平衡。

一个明显的问题是“主”服务器是单点故障(对此有什么补救措施吗?)。 还有其他我忽略的潜在问题吗?这里是否存在无法以这种方式很好地扩展的元素?有人会建议另一种方法吗?

关于内存要求,我假设我应该尽可能多地给每个 Nginx 服务器,以便可以缓存热文件(通过操作系统?Nginx?)而不必不断地从 NFS 共享请求。

最后,我疯了不使用 CDN 吗?

nginx
  • 4 个回答
  • 3389 Views
Martin Hope
UpTheCreek
Asked: 2012-12-13 03:20:22 +0800 CST

Nginx - 从深层目录结构提供静态内容

  • 1

我必须存储相当多的图像(比如说 1M)以便从 Nginx 提供服务,因此为了避免在一个文件夹中有太多文件,我打算将它们分成名称与文件名相关的文件夹,例如:

/images/1/5/3/153.png

(我意识到有一些方法可以实现更均匀的分布,但我认为这足以满足我们的需求)

但是,我希望可以从没有目录结构的 URL 访问这些内容,即:

/images/153.png

这有可能在 Nginx 中通过 URL 重写来完成吗?

nginx
  • 1 个回答
  • 801 Views
Martin Hope
UpTheCreek
Asked: 2012-09-08 04:37:34 +0800 CST

主机数据传输限制计算和网络协议头

  • 2

好的,这可能是一个非常愚蠢的问题,但是......

我正在构建一个使用 websockets 的网络应用程序。消息传递速度相当快,所以我一直在使用 wireshark 查看网络流量,看看是否有任何方法可以减少我们通过网络发送的数据量,从而降低成本。

一条典型的消息有大约 150 字节的数据有效载荷,根据 wireshark 的说法,下层的东西大约占用:以太网:14 字节 IP:20 字节 TCP:20 字节

我的问题是,这些网络标头是否包含在数据传输计算中?TCP ACK 消息呢?(另外 54 个字节根据 wireshark)

这可能看起来微不足道,但因为我们有太多的消息传递,而且因为有效负载与这些标头的大小相似,所以它很重要。

networking
  • 1 个回答
  • 141 Views
Martin Hope
UpTheCreek
Asked: 2012-05-18 00:12:19 +0800 CST

使用虚拟机的基础架构建模 - 一种可行的方法?

  • 3

我对为 Web 应用程序建模各种服务器/网络配置很感兴趣。我想提前知道系统的哪些部分会成为瓶颈,以及瓶颈是否受 CPU/内存/网络等限制。

我一直在考虑的一个想法是采用一台测试服务器,并将每个“真实”服务器设置为该服务器上的虚拟机,按照它们在野外的配置进行配置。我打算试试这个,但想问 serverfault 社区是否有人以前尝试过这种方法。 它可行吗?

我当然不期待基准测试或类似的东西,但我认为它可能对建模相对性能、突出瓶颈和提供架构完整性检查很有用。

web-server scalability
  • 2 个回答
  • 124 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve