我已经使用 AWS 控制台使用Glacier Deep Archive存储类启动了 S3 文件的检索。我刚刚收到一条成功消息,但没有指向可以监控检索状态的页面的链接。
有没有办法在 AWS 控制台上查看待处理的检索作业列表及其状态?
如果不是,我会接受 AWS CLI 命令。
我已经使用 AWS 控制台使用Glacier Deep Archive存储类启动了 S3 文件的检索。我刚刚收到一条成功消息,但没有指向可以监控检索状态的页面的链接。
有没有办法在 AWS 控制台上查看待处理的检索作业列表及其状态?
如果不是,我会接受 AWS CLI 命令。
我有一个相对较大的数据库(> 500 GB),并且yum update
昨晚运行了一个升级mysql-community-server
的 .
从那时起,MySQL 服务器一直处于“Server shutdown in progress”状态 16 小时:
# service mysqld status
Redirecting to /bin/systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/mysqld.service.d
└─override.conf
Active: deactivating (stop-sigterm) since Mon 2020-07-20 01:18:28 CEST; 14h ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Main PID: 8318 (mysqld)
Status: "Server shutdown in progress"
CGroup: /system.slice/mysqld.service
└─8318 /usr/sbin/mysqld
另外,mysqld
现在一直在使用 300% CPU。
是否有问题,或者这只是数据库很大的结果?有什么方法可以让我了解剩下的时间,或者看看服务器实际上在做什么?
我能做些什么来加快这个过程吗?
有关信息,该服务器是具有 128GB RAM 和 NVMe 驱动器的 6 核 Xeon 驱动器,速度相当快。
有足够的可用磁盘空间和可用 RAM。
# free -m
total used free shared buff/cache available
Mem: 128889 88292 11189 2225 29407 37145
Swap: 16381 5168 11213
更新:现在已经 72 小时了。什么也没有变。
我正在尝试更改 PHP-FPM 套接字文件的所有者/组。
我的www.conf
包含:
[www]
...
listen = /run/php-fpm/www.sock
listen.owner = ben
listen.group = ben
listen.mode = 0660
重新启动 php-fpm 后,www.sock
仍归root:root
.
如果我更改套接字文件位置,或者listen.mode
,套接字文件会相应更改。然而,listen.owner
又listen.group
似乎被公然忽视了。
这是为什么?
我有一个安装和设置流量服务器的脚本:
yum install -y trafficserver
systemctl start trafficserver
traffic_line -s proxy.config.url_remap.remap_required -v 0
traffic_line -s proxy.config.reverse_proxy.enabled -v 0
问题是,traffic_line
失败了:
[connect] ERROR (main_socket_fd 3): No such file or directory error: could not connect to management port,确保traffic_manager正在运行
这是因为systemctl start
立即返回,无需等待流量服务器实际启动。
有没有办法告诉systemctl start
只有在服务启动后才返回?
如果这是不可能的,是否有一个我可以运行的命令systemctl start
来实际等待服务启动?
我刚刚安装了 Fedora 23 服务器。我默认创建了一个区域:
# firewall-cmd --get-active-zones
FedoraServer
interfaces: eth0
如果我向该区域添加服务,它可以正常工作:
# firewall-cmd --zone=FedoraServer --add-service=http
success
# firewall-cmd --zone=FedoraServer --list-all
FedoraServer (default, active)
interfaces: eth0
sources:
services: dhcpv6-client http ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
但运行时会丢失firewall-cmd --reload
。
如果我尝试按照此答案中的建议使其永久化,则会收到以下错误:
# firewall-cmd --zone=FedoraServer --add-service=http --permanent
Error: INVALID_SERVICE: 'cockpit' not among existing services
我很惊讶,因为这是来自 OVH 模板的全新安装。
如何解决此错误?
我一直在尝试将 ImageMagick 与 OpenCL 一起使用来加快批量调整图像的大小。
为此,我在 Amazon EC2 上启动了一个GPU 实例(g2.2xlarge),根据 AWS,它的特点是:
高性能 NVIDIA GPU,每个都具有 1,536 个 CUDA 内核和 4GB 显存
我为 GPU 实例使用了特定的 AMI,即NVIDIA 提供的带有 NVIDIA GRID GPU 驱动程序的 Amazon Linux AMI。
在从源代码编译 ImageMagick 之前,作为比较的基础,我尝试了仅支持 OpenMP 的内置 ImageMagick:
$ convert --version
Version: ImageMagick 6.7.8-9 2015-10-08 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
我将50 Mpx JPEG 图像的大小调整为其大小的 25%,并对其进行计时:
$ time convert -resize 1158x1737 01.jpg 01b.jpg
real 0m1.371s
user 0m5.388s
sys 0m0.204s
我已经运行了几次以确保时间一致(特别是因为 ImageMagick 在首次使用时执行了设备性能基准测试)。
然后我下载了ImageMagick 源代码,并编译了它们:
$ export C_INCLUDE_PATH=/opt/nvidia/cuda/include
$ ./configure --enable-opencl
$ make
我前往已编译的二进制文件,并检查 OpenCL 现在是否已启用:
$ ./convert --version
Version: ImageMagick 6.9.2-5 Q16 x86_64 2015-11-08 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC OpenCL OpenMP
然后运行基准测试:
$ time ./convert -resize 1158x1737 01.jpg 01b.jpg
real 0m2.655s
user 0m1.720s
sys 0m0.928s
再次,我运行了几次以确保时间是一致的。
令我惊讶的是,这是仅使用 OpenMP 的版本的一半速度。
正如这个 StackOverflow 答案中所建议的,我检查了 ImageMagick 设备基准文件:
$ cat ~/.cache/ImageMagick/ImagemagickOpenCLDeviceProfile
<version>ImageMagick Device Selection v0.9</version>
<device><type></type><name>GRID K520</name><driver>340.32</driver><max cu>8</max cu><max clock>797</max clock><score>0.2780</score></device>
<device><type></type><score>1.4140</score></device>
注意:此文件仅在我运行 ImageMagick 的编译版本时创建;出于某种原因,它不是在我运行 Amazon Linux 附带的版本时创建的。
所以当我读到它时,ImageMagick 可以使用两种设备:
据我了解,这里的 CPU 胜过 GPU。
好的,CPU 还不错(E5-2670 @ 2.60GHz),但 GPU 在它的领域里是相当的野兽。
欢迎任何提示以恢复预期的 GPU 性能。
注意:在你跳得太快之前,是的,我阅读了 linuxatemyram.com!
我有一台 64GB RAM 的服务器。
free -m
说我的 RAM 已满,这不是因为磁盘缓存:
total used free shared buffers cached
Mem: 64458 64117 340 201 67 331
-/+ buffers/cache: 63719 739
Swap: 1532 383 1149
但是,top
按内存使用量排序不等于 64GB:
KiB Mem: 66005116 total, 65652464 used, 352652 free, 67512 buffers
KiB Swap: 1569780 total, 392656 used, 1177124 free. 337464 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6258 mysql 20 0 38.665g 0.033t 4924 S 1.3 54.3 482:26.21 mysqld
2293 root 20 0 165896 102116 101964 S 0.0 0.2 0:43.53 systemd-journal
4909 root 20 0 377548 57840 57548 S 0.0 0.1 0:18.47 rsyslogd
26639 www 20 0 650076 53348 32968 S 0.0 0.1 11:32.27 php-fpm
26640 www 20 0 648344 51912 32984 S 0.0 0.1 11:37.43 php-fpm
26642 www 20 0 648600 51472 32580 S 0.0 0.1 11:37.16 php-fpm
26669 www 20 0 648148 50696 31988 S 0.0 0.1 11:35.24 php-fpm
26643 www 20 0 648452 50616 31628 S 0.0 0.1 11:36.19 php-fpm
26641 www 20 0 648620 50496 31340 S 0.0 0.1 11:36.51 php-fpm
28121 www 20 0 648620 48820 29660 S 0.0 0.1 11:35.75 php-fpm
27231 www 20 0 647508 48804 30760 S 0.0 0.1 11:35.61 php-fpm
28029 www 20 0 648044 48752 30172 S 0.0 0.1 11:37.20 php-fpm
28117 www 20 0 647868 48700 30296 S 0.0 0.1 11:36.45 php-fpm
28122 www 20 0 648340 48568 29676 S 0.0 0.1 11:35.73 php-fpm
8569 www 20 0 649028 40268 20704 S 0.0 0.1 11:31.50 php-fpm
10126 www 20 0 648432 39420 20700 S 0.0 0.1 9:58.52 php-fpm
22386 www 20 0 647996 39400 20868 S 0.0 0.1 11:25.00 php-fpm
9643 www 20 0 647976 39220 20704 S 0.0 0.1 11:29.23 php-fpm
23077 www 20 0 647852 39084 20692 S 0.0 0.1 11:11.80 php-fpm
10139 www 20 0 647580 38808 20692 S 0.0 0.1 9:59.94 php-fpm
6326 www 20 0 647368 38396 20696 S 0.7 0.1 8:32.34 php-fpm
4727 www 20 0 646128 37304 20692 S 0.0 0.1 8:30.20 php-fpm
5459 www 20 0 645988 37156 20688 S 0.0 0.1 7:15.13 php-fpm
2173 www 20 0 645240 36408 20684 S 0.0 0.1 4:39.13 php-fpm
20752 www 20 0 644536 35428 20680 S 0.0 0.1 4:29.78 php-fpm
5396 www 20 0 644468 35324 20692 S 0.0 0.1 4:14.65 php-fpm
17558 www 20 0 642668 33816 20740 S 0.0 0.1 1:28.34 php-fpm
28133 www 20 0 642780 33636 20704 S 0.0 0.1 0:49.88 php-fpm
10925 www 20 0 479584 29264 11212 S 3.0 0.0 0:00.09 php
26632 root 20 0 552136 26072 19468 S 0.0 0.0 0:37.74 php-fpm
4946 named 20 0 697996 18748 2104 S 0.0 0.0 3:46.96 named
15609 apache 20 0 2137056 8120 1592 S 0.0 0.0 0:56.18 httpd
8584 root 20 0 133432 4864 3700 S 0.0 0.0 0:00.08 sshd
MySQL 单独使用 54.3%,这是完全正常的,因为它有一个innodb_buffer_pool_size
. 32G
其他进程的内存使用率加起来大约为 2.8%,总共为 57.1%。
剩下的32%在哪里?
编辑:内容/proc/meminfo
:
MemTotal: 66005116 kB
MemFree: 353272 kB
Buffers: 66328 kB
Cached: 736620 kB
SwapCached: 11348 kB
Active: 34396680 kB
Inactive: 2651132 kB
Active(anon): 34223240 kB
Inactive(anon): 2228020 kB
Active(file): 173440 kB
Inactive(file): 423112 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 1569780 kB
SwapFree: 1177448 kB
Dirty: 328 kB
Writeback: 0 kB
AnonPages: 36234364 kB
Mapped: 125208 kB
Shmem: 206396 kB
Slab: 28058904 kB
SReclaimable: 28010224 kB
SUnreclaim: 48680 kB
KernelStack: 2760 kB
PageTables: 94780 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 34572336 kB
Committed_AS: 38572348 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 382304 kB
VmallocChunk: 34359353572 kB
HardwareCorrupted: 0 kB
DirectMap4k: 9000 kB
DirectMap2M: 2054144 kB
DirectMap1G: 67108864 kB
输出slabtop
:
Active / Total Objects (% used) : 147380425 / 147413026 (100.0%)
Active / Total Slabs (% used) : 7005839 / 7005839 (100.0%)
Active / Total Caches (% used) : 71 / 144 (49.3%)
Active / Total Size (% used) : 27615020.12K / 27627490.91K (100.0%)
Minimum / Average / Maximum Object : 0.01K / 0.19K / 16.12K
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
146851887 146851887 12% 0.19K 6992947 21 27971788K dentry
124936 124936 100% 0.07K 2231 56 8924K Acpi-ParseExt
105144 105144 100% 0.10K 2696 39 10784K buffer_head
49920 49172 98% 0.06K 780 64 3120K kmalloc-64
29916 29916 100% 0.11K 831 36 3324K sysfs_dir_cache
29856 29661 99% 0.12K 933 32 3732K kmalloc-128
21450 21128 98% 0.18K 975 22 3900K vm_area_struct
19328 19328 100% 0.03K 151 128 604K kmalloc-32
18258 13383 73% 0.93K 537 34 17184K ext4_inode_cache
17952 11651 64% 0.04K 176 102 704K ext4_extent_status
16828 6513 38% 0.55K 601 28 9616K radix_tree_node
14400 13996 97% 0.06K 225 64 900K anon_vma
11645 7903 67% 0.05K 137 85 548K shared_policy_node
10710 7006 65% 0.19K 510 21 2040K kmalloc-192
10608 10608 100% 0.04K 104 102 416K Acpi-Namespace
9728 9728 100% 0.01K 19 512 76K kmalloc-8
...
我/etc/php.ini
的配置如下:
upload_max_filesize = 2M
post_max_size = 32M
并/etc/php.d/app.ini
包含:
upload_max_filesize = 64M
post_max_size = 64M
在 PHP 5.4 中,PHP 赋予 app.ini 值优先于 php.ini 中的值;但是,自从我切换到 PHP 5.5 后,它们不再具有优先权:
# php -r "echo ini_get('upload_max_filesize');"
2M
该app.ini
文件看起来已被 PHP 成功解析:
# php --ini
...
/etc/php-5.5.d/app.ini,
...
(/etc/php.d
是一个符号链接/etc/php-5.5.d
)
如何强制 php.d ini 文件优先于 php.ini?
如果这有什么不同,我正在使用适用于 PHP 5.5 的 AWS Elastic Beanstalk 容器。
作为我的应用程序部署的一部分,commands
我的.ebextensions
配置文件中有一些。第一次运行命令(克隆大型存储库)时,所有命令可能需要 20 分钟或更长时间才能完成。
不幸的是,这会在部署期间触发超时:
INFO Deploying new version to instance(s).
WARN The following instances have not responded in the allowed command
timeout time (they might still finish eventually on their own).
INFO Command execution completed. Summary: [Successful: 0, TimedOut: 1].
是否可以增加此超时?我在我的环境设置中找不到该选项。
假设我有两个文件:
-rw-rw-r-- 1 webapp webapp 215 Jun 21 2012 index.php
-rw-rw-rw- 1 root root 58 Dec 17 11:02 patch.log
我想给予patch.log
与index.php
.
我可以手动完成:
chown webapp:webapp patch.log
chmod 664 patch.log
但这应该是脚本的一部分,我不一定知道确切的权限index.php
是什么。
有没有办法将给定文件的权限复制到另一个文件?
您可以使用 commands 键在 EC2 实例上执行命令。这些命令按名称的字母顺序处理,它们在应用程序和 Web 服务器设置之前运行,并在提取应用程序版本文件之前运行。
我是否应该理解这仅在首次设置服务器时运行,而不是在进一步部署时运行?
我刚刚通过以下步骤在我的本地 Apache 2 安装上激活了测试 SSL 证书:
Include conf/extra/httpd-ssl.conf
httpd.conf 中的行我重新启动了 Apache 并获得了托管在htdocs
目录中的测试页面。
如何让 Apache 返回我的虚拟主机之一?
我的虚拟主机目前看起来像:
<VirtualHost *:80>
ServerName domain.localhost
DocumentRoot c:\www\domain
</VirtualHost>
我在 Windows 7 Pro 64 位上使用 Zend Server CE,并尝试使用自签名证书激活 HTTPS。
我在 httpd.conf 中取消了对这一行的注释:
Include conf/extra/httpd-ssl.conf
我将 server.crt 和 server.key 复制到 conf 目录,然后尝试通过 Apache Monitor 重新启动 Apache。但随后弹出一条消息说:
请求的操作失败!
然后我前往 logs/error.log,但最近的条目已经超过 1 小时,并且与当前的问题完全不匹配。
为什么error.log中没有记录错误的原因?我应该在哪里寻找它?
我的服务器没有响应 HTTP 请求,我花了很长时间才能够使用 SSH 登录;看起来服务器超载并且跪了。
几天前它已经这样做了,但重新启动后一切恢复正常。今天在重新启动之前,我想了解发生了什么。
我终于可以登录了,平均负载显示稳定1.00
:
# uptime
15:00:46 up 4 days, 19:47, 1 user, load average: 1.00, 1.00, 1.00
但top
似乎说服务器是空闲的:
top - 15:01:52 up 4 days, 19:48, 1 user, load average: 1.00, 1.00, 1.00
Tasks: 704 total, 1 running, 703 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 1.1%sy, 0.0%ni, 98.4%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 4034032k total, 4009704k used, 24328k free, 16612k buffers
Swap: 1959920k total, 58576k used, 1901344k free, 22860k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19137 root 16 0 13152 1748 936 R 2.9 0.0 0:00.27 top
1 root 15 0 10364 744 620 S 0.0 0.0 0:03.26 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.02 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.65 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
5 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/1
6 root 34 19 0 0 0 S 0.0 0.0 0:00.21 ksoftirqd/1
7 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/1
8 root 10 -5 0 0 0 S 0.0 0.0 0:04.73 events/0
9 root 10 -5 0 0 0 S 0.0 0.0 0:02.29 events/1
10 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 khelper
47 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
52 root 10 -5 0 0 0 S 0.0 0.0 0:00.02 kblockd/0
53 root 10 -5 0 0 0 S 0.0 0.0 0:00.05 kblockd/1
54 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
165 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/0
166 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/1
哦,我还在 httpd 中看到了以下消息error_log
:
PHP 致命错误:SQLSTATE[08004] [1040]...中的连接太多
但access_log
在过去 8 小时内没有显示任何请求,因为所有 HTTP 连接都以超时结束......
有人对此有解释吗?
我想将这些 PHP 设置添加到我的 Elastic Beanstalk 环境中:
upload_max_filesize = 64M
post_max_size = 64M
这些选项不能用option_settings in设置.ebextensions
:
Namespace | Extend
---------------------------------------------|-------
aws:elasticbeanstalk:application:environment | Yes
aws:elasticbeanstalk:container:php:phpini | No
如何php.ini
在 Elastic Beanstalk 容器中添加自定义设置?
我的 Elastic Beanstalk 容器使用container_commands运行脚本以在每次部署时修补数据库。
我使用自制脚本运行部署,该脚本调用Elastic Beanstalk API 上的UpdateEnvironment 。
问题是,我看不到 my 的输出container_commands
,这在部署期间非常可怕。我可以判断是否出现问题的唯一方法是命令返回非零值:在这种情况下,DescribeEvents将报告问题。但是,我仍然无法获得命令的实际输出。
container_commands
部署完成后如何获取输出?
理想情况下,使用 Elastic Beanstalk API,但任何其他编程方式都可以!