クライアントがサーバーにトンネリングしてデータベースに接続できるように、pgbouncerサーバーとOpen SSHサーバーを実行しているコンピューターがあります。
これで、すべてのクライアントは約3分間接続を維持し、接続を閉じます。ご覧のとおり、下の画像は実行コマンドを示しています。
ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
短時間でsshdプロセスの数が減少するという事実は何度も強調されてきました。
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
158 158 790
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
150 150 750
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
146 146 730
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
140 140 700
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
140 140 700
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
140 140 700
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
140 140 700
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
136 136 680
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
132 132 660
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
132 132 660
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
132 132 660
sosepe@pgbouncer:~$ netstat -nt | grep :22
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
298 298 1490
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
324 324 1620
しかし、長い間ではありません。
つまり、数時間後にコマンドを再実行すると、実際にプロセス数が増加したことがわかります。そのうちのいくつかは実際に閉じていないからです。
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
324 324 1620
数時間後の結果は次のとおりです。
sosepe@pgbouncer:~$ ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -o sshd | wc
1926 1926 9630
結果は次のとおりです。
Private + Shared = RAM used Program
4.0 KiB + 22.0 KiB = 26.0 KiB agetty
132.0 KiB + 27.5 KiB = 159.5 KiB vnstatd
128.0 KiB + 45.5 KiB = 173.5 KiB systemd-udevd
136.0 KiB + 65.0 KiB = 201.0 KiB cron
216.0 KiB + 33.0 KiB = 249.0 KiB tail
112.0 KiB + 239.5 KiB = 351.5 KiB systemd-timesyncd
504.0 KiB + 50.0 KiB = 554.0 KiB lvmetad
192.0 KiB + 481.5 KiB = 673.5 KiB vsftpd
908.0 KiB + 92.0 KiB = 1.0 MiB sudo
916.0 KiB + 103.0 KiB = 1.0 MiB pgbouncer
644.0 KiB + 604.0 KiB = 1.2 MiB vmtoolsd
1.3 MiB + 47.0 KiB = 1.3 MiB rsyslogd
1.2 MiB + 247.0 KiB = 1.5 MiB CloudEndure_Age (4)
1.4 MiB + 81.0 KiB = 1.5 MiB dbus-daemon
1.6 MiB + 331.0 KiB = 1.9 MiB su (4)
1.2 MiB + 892.0 KiB = 2.1 MiB VGAuthService
1.7 MiB + 582.0 KiB = 2.2 MiB collectd
2.7 MiB + 268.0 KiB = 3.0 MiB systemd-logind
2.9 MiB + 63.5 KiB = 3.0 MiB bash
4.3 MiB + 231.5 KiB = 4.5 MiB systemd-journald
2.7 MiB + 3.6 MiB = 6.2 MiB php-fpm7.3 (3)
4.8 MiB + 1.8 MiB = 6.6 MiB (sd-pam) (3)
6.5 MiB + 3.3 MiB = 9.8 MiB systemd (4)
5.8 MiB + 4.1 MiB = 9.9 MiB php-fpm7.2 (3)
5.7 MiB + 6.5 MiB = 12.2 MiB php-fpm5.6 (3)
16.1 MiB + 153.0 KiB = 16.3 MiB run_linux_migration_scripts_periodically (2)
17.2 MiB + 166.5 KiB = 17.3 MiB update_onprem_volumes (2)
18.5 MiB + 145.5 KiB = 18.6 MiB tailer (2)
11.8 MiB + 13.1 MiB = 24.9 MiB apache2 (11)
159.3 MiB + 180.0 KiB = 159.5 MiB java
741.6 MiB + 2.1 GiB = 2.8 GiB sshd (4469)
---------------------------------
3.1 GiB
=================================
SSHDはほぼ3GBのメモリを消費し、これはマシンが再起動されるまで続きます。
問題がどこにあるかについての手がかりはありますか?
ありがとうございます!
ポリスチレン
これはconfファイルです:
Port 10110
Protocol 1,2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes
SyslogFacility AUTHPRIV
LogLevel INFO
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
[email protected],diffie-hellman-group-exchange-sha256,diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
KexAlgorithms [email protected],diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
PermitEmptyPasswords no
PasswordAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
GatewayPorts yes
ClientAliveInterval 600
PermitTunnel yes
MaxSessions 50
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp /usr/libexec/openssh/sftp-server
ベストアンサー1
Oracle LinuxおよびOracle Databaseを実行しているサーバーで同じ動作を実行し、sshdサービスがメモリ不足のためにサーバーを再起動するまで、すべてのメモリを消費していることを確認しました。これは、Linux用のCISベンチマークを実装したときにのみ開始されたと思います。私たちのシナリオでは、Oracleデータベースインスタンスを起動すると、sshdサービスはメモリの使用を開始します。現在の根本原因が見つかるまでsshdサービスを無効にしました。私は認証のためにPAMを無効にしようと努力しましたが、役に立ちませんでした。誰かがこの問題の原因を探してください。