根据 AWS文档:
当你停止一个正在运行的实例时......实例在它启动时被迁移到一个新的底层主机。
这与同一个文档的声明也略有不同:
当您启动实例时,它会进入挂起状态,在大多数情况下,我们会将实例移动到新的主机上。(如果主机没有问题,您的实例可能会保留在同一台主机上。)
那么,当实例重新启动时需要将实例移动到新主机的原因是什么?
出现这个问题的唯一原因是我在 AWS 认证考试示例中发现了一个问题,询问是否会迁移到新主机,并且目前看不出人们如何能够猜出正确的答案。
我试图从一台机器上获取一个 docker 容器并在另一台机器上运行它并遇到此错误:“来自守护进程的错误响应:未指定命令”。
下面是一个显示问题的简化示例:
docker --version
Docker version 1.10.1, build 9e83765
docker pull ubuntu
docker run --name u1 -dit ubuntu:latest
docker export -o exported u1
docker stop u1
docker rm u1
docker import exported ubuntu:imported
docker run --name u1 -dit ubuntu:imported
docker: Error response from daemon: No command specified.
在该示例中,我们首先拉取一个映像(ubuntu)并u1
从中成功创建/运行容器。然后我们将该容器导出到文件(exported
),停止/删除容器,将文件导入新图像(ubuntu:imported
)并尝试从中运行新容器。它失败。
我在尝试时收到“此密码没有可用的密钥。 ”:
sudo cryptsetup open --type luks /dev/sdc storage --key-file=/path/to/keyfile
该/path/to/keyfile
文件仅包含纯文本密码。
如果我在交互询问时输入相同的密码:
sudo cryptsetup open --type luks /dev/sdc storage
然后它工作。
为什么--key-file
在这种情况下不起作用?这是 Ubuntu 14.04 @ Linux 3.13.0-68。
我正在尝试做yum update
并得到“MemoryError”。服务器(OpenVZ box)有 2G RAM 和 Percona MySQL 服务器,配置了 1G InnoDB 缓冲区。操作系统为 CentOS 6.5,内核 2.6.32-openvz-042stab088.4-amd64。
free -m
输出:
total used free shared buffers cached
Mem: 2048 728 1319 0 0 21
-/+ buffers/cache: 706 1341
Swap: 2048 0 2048
在宿主机上,盒子内存配置为:
vzctl set 101 --physpages 0:2G --swappages 0:2G --kmemsize unlimited --privvmpages 2000M:2G --vmguarpages 2000M:2G --oomguarpages 2G --save
当我停止 MySQL 时,yum update
工作正常。yum update
如果仍然有超过 1G 的可用 RAM,为什么 MySQL 会失败?
完整的错误输出是:
yum update
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: mirror.mel.bkb.net.au
* contrib: mirror.mel.bkb.net.au
* epel: mirror.overthewire.com.au
* extras: mirror.mel.bkb.net.au
* updates: mirror.optus.net
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 285, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 136, in main
result, resultmsgs = base.doCommands()
File "/usr/share/yum-cli/cli.py", line 434, in doCommands
self._getTs(needTsRemove)
File "/usr/lib/python2.6/site-packages/yum/depsolve.py", line 99, in _getTs
self._getTsInfo(remove_only)
File "/usr/lib/python2.6/site-packages/yum/depsolve.py", line 110, in _getTsInfo
pkgSack = self.pkgSack
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 887, in <lambda>
pkgSack = property(fget=lambda self: self._getSacks(),
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 683, in _getSacks
self.plugins.run('exclude')
File "/usr/lib/python2.6/site-packages/yum/plugins.py", line 184, in run
func(conduitcls(self, self.base, conf, **kwargs))
File "/usr/lib/yum-plugins/priorities.py", line 129, in exclude_hook
repopkgs_archless = _pkglist_to_dict(conduit.getPackages(repo), repo.priority)
File "/usr/lib/python2.6/site-packages/yum/plugins.py", line 592, in getPackages
return self._base.pkgSack.returnPackages(arg)
File "/usr/lib/python2.6/site-packages/yum/packageSack.py", line 499, in returnPackages
ignore_case=ignore_case)
File "/usr/lib/python2.6/site-packages/yum/sqlitesack.py", line 1646, in returnPackages
pkgobjlist = self._buildPkgObjList(repoid, patterns, ignore_case)
File "/usr/lib/python2.6/site-packages/yum/sqlitesack.py", line 1610, in _buildPkgObjList
po = self._packageByKeyData(repo, x['pkgKey'], x)
File "/usr/lib/python2.6/site-packages/yum/sqlitesack.py", line 754, in _packageByKeyData
po = self.pc(repo, data)
File "/usr/lib/python2.6/site-packages/yum/sqlitesack.py", line 187, in __init__
self._loadedfiles = False
MemoryError
这里有类似的问题,但没有帮助,因为我有更多的 RAM。
我正在对 Web 应用程序进行负载测试,并研究一些配置调整(与磁盘 i/o 相关)对整体应用程序性能的影响,即可以同时处理的用户数量。
但问题是我在看到与磁盘相关的配置设置的任何影响之前达到了 100% CPU。因此,我想知道是否有一种方法可以故意限制磁盘性能,使其成为瓶颈,而我尝试进行的调整实际上开始影响性能。我应该让硬盘忙于其他事情吗?什么最适合这个目的?
更多细节(可能无关紧要,但无论如何):PHP/Magento/Apache,研究apc.stat
. 将其设置为0
使 APC 不检查 PHP 脚本的修改,这应该会在磁盘成为瓶颈的情况下提高性能。使用 JMeter 进行基准测试。
我正在通过 SMTP 从 PHP 脚本向 Exim 4.71 服务器发送电子邮件。服务器宣传流水线,所以我试图利用它。但是,当我读回返回码时,我终于得到了554 SMTP synchronization error
. 在服务器端,错误显示为:
SMTP protocol synchronization error (next input sent too soon: pipelining was advertised): rejected "DATA" H=(localhost) [111.111.111.111] next input="To: [email protected]\nDate: Wed, 12 Jun 2013 11:35:50 +1200\nReturn-Path: [email protected]\nSubject: Blablablablabla"
我想知道为什么它说“下一个输入发送得太快”。我正在使用流水线,所以应该允许发送我的数据而不是等待任何东西。
请注意,当我不使用流水线时,一切正常。