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
    • 最新
    • 标签
主页 / server / 问题

问题[virtual-memory](server)

Martin Hope
J. Scott Elblein
Asked: 2021-02-12 11:03:04 +0800 CST

是否可以仅为特定容器设置 vm.overcommit_memory =1?

  • 3

因此,我正在运行一个在日志中显示此内容的容器:

警告 overcommit_memory 设置为 0!在内存不足的情况下,后台保存可能会失败。要解决此问题,请将“vm.overcommit_memory = 1”添加到 /etc/sysctl.conf,然后重新启动或运行命令“sysctl vm.overcommit_memory=1”以使其生效。

我大部分时间都在 Windows 上度过,我大约 80% 对 Linux 一无所知,据我所知,在设置此设置时,它会影响系统范围,这也会影响所有其他容器。我想这样做吗?

有没有办法只为推荐它的容器设置它?如果有帮助,我应该补充一下,我正在 WSL2 模式下运行 docker 桌面。

更新:按照他的评论中的要求,我正在添加这个问题所涉及的容器;它被称为 Papermerge。

settings memory docker virtual-memory
  • 1 个回答
  • 8094 Views
Martin Hope
jrider
Asked: 2020-12-08 06:56:08 +0800 CST

pagefile.sys windows 究竟如何确定使用自动管理的驱动器?

  • 0

我有一个 2016 Windows Server,它有两个驱动器,C:(系统驱动器)H:存储驱动器。当我进入虚拟内存设置时,H: 是托管的,而 C: 不是。

注意:选中“自动管理所有驱动器的页面文件大小”。

我想了解当有多个驱动器时,Windows 究竟如何确定要自动管理的驱动器?

原因:我每周从一个 VM 模板部署多个服务器,这是 Windows 第一次选择 C: 以外的驱动器进行“自动”管理。我希望这些服务器保持一致。或者,至少对造成这种情况的原因有一个很好的了解。

如果需要,我很乐意提供更多信息或说明。

windows windows-server-2016 virtual-memory
  • 1 个回答
  • 432 Views
Martin Hope
Juergen
Asked: 2020-08-24 00:58:23 +0800 CST

带有扩展页表的 EPTP 的确切含义是什么?

  • 0

EPT代表英特尔扩展页表。
但是后缀 P 在EPTP 交换术语中代表什么?

如果有可靠的来源,我想将答案添加到二级地址翻译维基百科文章中。

virtual-machines virtual-memory
  • 1 个回答
  • 162 Views
Martin Hope
LonnieBest
Asked: 2020-07-08 21:54:09 +0800 CST

Dell PowerEdge T-620 - 在 BIOS 中选择内存模式

  • 0

我正在尝试Memory Mode在 BIOS 中配置具有双处理器的 Dell PowerEdge T620: 用户手册| 技术指南

该系统有 384GB 的 DDR3 LRDIMM 内存,我可以在以下任何模式之间进行选择:

  1. 优化器模式
  2. 备用模式
  3. 镜像模式
  4. 高级 ECC 模式
  5. 备有高级 ECC
  6. 戴尔故障恢复模式

除此之外,由于所有 DIMM 都是相同的,内存配置允许我设置Node Interleaving为“启用”或“禁用”,节点交错的描述如下:

如果系统配置了匹配内存,则该字段启用节点交错。如果设置为 Disabled(默认),则系统支持非统一内存架构 (NUMA)(非对称)内存配置。仅当内存配置可以支持交错时,该字段才有效。

该系统将运行Proxmox来托管虚拟机。

你会选择哪种模式,为什么?你会启用节点交错吗?为什么?

memory dell-poweredge proxmox memory-usage virtual-memory
  • 2 个回答
  • 844 Views
Martin Hope
John the Traveler
Asked: 2020-03-27 19:23:10 +0800 CST

Linux:“主要页面错误分页”和“手动启用交换”之间的区别

  • 1

在 Linux 机器上,我们可以通过如下命令启用交换

sudo fallocate -l 500M /data/swapfile
sudo chmod 600 /data/swapfile
sudo mkswap /data/swapfile
sudo swapon /data/swapfile

但即使未启用此功能,当页面不在内存中时,内核仍会进行分页。

我们可以通过sar -B 1 30在不设置任何交换文件的机器上运行命令来验证这一点。

03:08:40 AM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
03:08:41 AM      0.00      0.00      3.00      0.00     44.00      0.00      0.00      0.00      0.00
03:08:42 AM      0.00      0.00     19.00      0.00     30.00      0.00      0.00      0.00      0.00
03:08:43 AM      0.00      0.00      0.00      0.00      3.00      0.00      0.00      0.00      0.00
03:08:44 AM     24.00      0.00      2.00      1.00      7.00      0.00      0.00      0.00      0.00
03:08:45 AM    364.00     60.00     18.00      3.00      4.00      0.00      0.00      0.00      0.00
03:08:46 AM    140.00      0.00    392.00      2.00    243.00      0.00      0.00      0.00      0.00

仍然有majflt会触发将数据分页到磁盘。

我的问题是:

  • 我们可以说操作系统上有两种类型的交换吗?
  • 这两种机制的工作方式有何不同?
  • 如果总有分页机制在工作,为什么还需要手动启用交换?

我知道有人说:

交换是指将整个进程地址空间,或者无论如何,不​​可共享的文本数据段,一次复制到交换设备,或者复制回来(通常是磁盘)。

而分页是指复制入/出地址空间的一页或多页。特别是,这是一个更精细的粒度。例如,在 1 GB RAM 地址空间中有约 250,000 个 4 KB 页。

但是,在《Understanding the Linux Virtual Memory Manager 》一书中,Linux中似乎并非如此。

严格来说,Linux 没有交换,因为“交换”是指将整个进程地址空间复制到磁盘,而“分页”是指复制出单个页面。Linux 实际上实现了分页,因为现代硬件支持它,但传统上在讨论和文档中将其称为交换。为了与该词的 Linux 用法保持一致,我们也将其称为交换。

有人可以对此有所了解吗?谢谢!

linux swap virtual-memory
  • 2 个回答
  • 880 Views
Martin Hope
JJJJNR
Asked: 2013-09-10 08:00:23 +0800 CST

虚拟内存和 CPU 使用率达到 20/20?

  • 1

我正在查看下面的这个系统,以确保我们有足够的内存来执行日常任务,我们最近遇到了瓶颈,因为只有一个 2GB 的页面文件,我已将其更改为推荐的 1.5 倍物理内存它看起来不错。但是 CPU 使用率飙升如下,这是否是由于 I/O 的增加,到目前为止,PF 使用率似乎还可以,一旦达到物理 RAM 限制,该服务器会降级。

PF 使用

virtual-memory
  • 1 个回答
  • 228 Views
Martin Hope
user81458
Asked: 2012-06-29 06:13:02 +0800 CST

VMware ESXi 5.0 上的内存过度使用

  • 6

我想更好地了解 VmWare ESXi 内存过度使用的可能性。我已经从 VmWare 阅读了这篇论文,因此我熟悉一般概念,例如管理程序交换、内存膨胀和页面共享。似乎这些技术的组合允许相当大程度的过度使用。但是,我不确定。

我正在部署一个虚拟测试实验室,该实验室由 4 组相同的虚拟服务器和工作站以及几个虚拟路由器实例组成。总的来说,我预计将运行大约 20 台虚拟机,Windows XP、Windows 7 和 Ubuntu 用于工作站主机,CentOS 和 Windows 2008 Server 实例用于服务器。

然而,问题是主机只有 12GB 的 RAM,我无法选择再填充一些。我想知道什么是配置主机的最佳选择,以便在约束内实现合理的性能。

我有这两个选择:

  • 为每个虚拟机分配尽可能少的 RAM。
  • 分配大量(例如每个实例 4 GB)并让气球驱动程序完成剩下的工作。
  • 还有别的吗?

哪个效果更好?机器大部分时间都是闲置的,所以我没有任何主要的性能期望,但它们应该运行得相当平稳。

virtualization vmware-esxi virtual-memory
  • 2 个回答
  • 2229 Views
Martin Hope
user35213
Asked: 2012-06-21 01:52:07 +0800 CST

SQL 服务器上发生膨胀

  • 9

据我所知,只有当主机开始用完物理内存时才会发生膨胀,使用率超过 90%。我有一个在三节点集群中运行的 SQL 服务器(每个主机中有 64 GB RAM),并且已为它分配了 8 GB RAM 作为来宾。在过去的几个月里,我们一直在遇到各种系统间歇性的性能问题,我们强调的一个方面是 SQL 服务器似乎经常会膨胀内存。尽管主机内存始终保持在 75% 以下。

我是否误解了膨胀的触发因素,并且在相当定期的基础上 2GB 的膨胀不是什么大问题?

我(希望)附上了一张最近几天的内存监控图片。

我们正在运行 ESX4.1,来宾虚拟机是运行 SQL Server 2008 R2 的 Windows Server 2008 R2

编辑:好吧,根据 Chopper3 评论中的以下建议,我们今晚将进行一些更改。在低影响服务器上进行的快速测试似乎产生了正确的影响,所以我们明天应该满负荷运行。可以解释我们最近看到的许多可能与性能相关的问题。

sql-server-2008 vmware-esx virtual-memory
  • 1 个回答
  • 1181 Views
Martin Hope
preetam
Asked: 2012-06-19 22:19:05 +0800 CST

mysql使用高VIRT内存和RES比较

  • 4

有没有办法减少 VIRT 内存的使用?我不确定使用率如此之高的原因是什么。它也达到了12g。

使用 top 命令

Tasks: 348 total,   1 running, 344 sleeping,   0 stopped,   3 zombie
Cpu(s):  1.4%us,  0.2%sy,  0.0%ni, 98.3%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  39131036k total,  4522864k used, 34608172k free,   228124k buffers
Swap: 16764924k total,        0k used, 16764924k free,  1316196k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
26760 www-data  20   0  312m  39m 4292 S   11  0.1   0:01.84 /usr/sbin/apache2 -
27149 www-data  20   0  312m  38m 3760 S   11  0.1   0:00.34 /usr/sbin/apache2 -
27193 www-data  20   0  312m  39m 4984 S   11  0.1   0:00.90 /usr/sbin/apache2 -
 1103 mysql     20   0  9.8g 195m 8244 S    1  0.5   5:40.69 /usr/sbin/mysqld
27180 www-data  20   0     0    0    0 Z    1  0.0   0:00.47 [apache2] <defunct>
   66 root      20   0     0    0    0 S    0  0.0   0:00.23 [kworker/15:0]
 8037 ntp       20   0 31496 1588 1244 S    0  0.0   0:01.13 /usr/sbin/ntpd -p /
26676 www-data  20   0  332m  58m 3960 S    0  0.2   0:01.73 /usr/sbin/apache2 -
26737 www-data  20   0  290m  16m 3476 S    0  0.0   0:00.23 /usr/sbin/apache2 -
26738 www-data  20   0  312m  39m 4292 S    0  0.1   0:00.68 /usr/sbin/apache2 -
26772 www-data  20   0  289m  15m 3928 S    0  0.0   0:00.41 /usr/sbin/apache2 -
26883 www-data  20   0  312m  39m 4300 S    0  0.1   0:00.48 /usr/sbin/apache2 -
27150 www-data  20   0  284m 8372 1516 S    0  0.0   0:00.02 /usr/sbin/apache2 -
27154 www-data  20   0  312m  39m 3876 S    0  0.1   0:00.44 /usr/sbin/apache2 -
27191 www-data  20   0  329m  55m 3644 S    0  0.1   0:00.44 /usr/sbin/apache2 -
27222 webaau    20   0 17568 1636 1072 R    0  0.0   0:00.06 top
    1 root      20   0 24428 2388 1352 S    0  0.0   0:03.60 /sbin/init

我的.cnf

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 127.0.0.1
#
# * Fine Tuning
#
key_buffer              = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
max_connections        = 300
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 64M

#added by SRTPL
# changed qauery_cache_size from 16M to 32
tmp_table_size          = 64M
max_heap_table_size     = 64M
table_cache             = 500
wait_timeout            = 900
interactive_timeout     = 900
#2880

#End of adding
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
#
# Here you can see queries with especially long duration
#log_slow_queries       = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id              = 1
#log_bin                        = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size         = 100M
#binlog_do_db           = include_database_name
#binlog_ignore_db       = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet      = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer              = 16M

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/

我遇到的另一个问题是实际内存使用率很高,尽管没有进程在使用内存。在 my.cnf 中进行了几次 tweeking 并重新启动后,实际内存的高使用率不再发生。

使用 ubuntu 12.04
5.5.22-0ubuntu1
Apache2.2.22
PHP 版本 5.3.10-1ubuntu3.1

mysql apache-2.2 virtual-memory
  • 1 个回答
  • 9690 Views
Martin Hope
Steve Kehlet
Asked: 2012-06-09 09:57:55 +0800 CST

什么是 shrink_slab,为什么它会出现在 /var/log/messages 中?

  • 3

我正在调查 Linux 系统上的一些应用程序问题,并在最近出现问题时注意到了这一点,但还不够接近以明确相关:

Jun  7 17:51:49 localhost kernel: shrink_slab: nr=-155456000
Jun  7 17:51:49 localhost kernel: shrink_slab: nr=-157859400
Jun  7 17:51:49 localhost kernel: shrink_slab: nr=-157833400
Jun  8 06:20:23 localhost kernel: shrink_slab: nr=-284172800

这是什么?谷歌搜索没有帮助,我知道这是 VM 的问题,但为什么它突然出现在 /var/log/messages 中?

编辑:我认为它显示这个是因为它可以释放的页面数(“nr”)是负数。这大概是一件坏事。我找到了更新内核的补丁,这些补丁显示了更有用的消息。仍然不确定这意味着什么,或者我需要做什么。

linux kernel virtual-memory
  • 1 个回答
  • 1453 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