computerの日記

Cisco,SHELL,C,Qt,C++,Linux,ネットワーク,Windows Scriptなどの発言です

Hyperthreading が有効かどうか確認する方法

# dmidecode -t processor | grep -E '(Core Count|Thread Count)'

(表示の一例)

Core Count: 4
Thread Count: 8

下の段の数値が上の段の数値の 2倍なので、Hyper Threading が有効になっています。

一般ユーザでも確認できますよ。

$ grep -H . /sys/devices/system/cpu/cpu*/topology/thread_siblings_list | sort -n -t ',' -k 2 -u
(表示の一例)

/sys/devices/system/cpu/cpu0/topology/thread_siblings_list:0,4
/sys/devices/system/cpu/cpu1/topology/thread_siblings_list:1,5
/sys/devices/system/cpu/cpu2/topology/thread_siblings_list:2,6
/sys/devices/system/cpu/cpu3/topology/thread_siblings_list:3,7

上記のトポロジの結果から、Hyper Threading が有効になっており、そのペアもわかります。

では、Hyper Threading を無効にする方法です。

GRUB の設定に、'noht' として再起動することにより、全て無効にできます。

BIOS でむこうにしなければいけない場合があります。

以下はある BIOS の一例です。
「FEATURE」-「CPUの機能」-「ハイパースレッディング」
有効から無効にしたところ、Hyper Theading が無効になったようです。

sosreport-analyzer-ng の開発状況(2019-5-14)

sosreport-analyzer-ng の最新版ですが、v1.0.121 となっています。

proc/zoneinfo, proc/buddyinfo, proc/vmstat をメンバに加えました。

酒飲みたい。。

github.com

 

ISC-DNS の脆弱性 CVE-2018-5743: Limiting simultaneous TCP clients is ineffective

CVE-2018-5743: Limiting simultaneous TCP clients is ineffective

の件です。

CentOS6 でも直さないみたいです。

幸い、ISC のパッチはあるので、Pink Rabbit Linux 用に作成して、新しいパッケージも作成しました。

お腹すいたよぉーーー。

github.com

sourceforge.net

Fedora29 -> Fedora30 アップグレードで、PostgreSQL が動かなくなったのを直した件

Fedora29 から、Fedora30 にアップグレード完了して、Web ページ(http://heavymetalhardrock.no-ip.info/)を開くと、以下のエラーになっていました。

ERROR: SQLSTATE[08006] [7] could not connect to server: Connection refused Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?

PostgreSQL が起動していないようです。

確認します。

# systemctl status postgresql
(表示)
postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since xxxxxxxx
Process: 810 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=1/FAILURE)

May 10 01:15:07 xxxx systemd[1]: Starting PostgreSQL database server...
May 10 01:15:07 xxxx postgresql-check-db-dir[810]: An old version of the database format was found.
May 10 01:15:07 xxxx postgresql-check-db-dir[810]: Use 'postgresql-setup --upgrade' to upgrade to version '11'
May 10 01:15:07 xxxx postgresql-check-db-dir[810]: See /usr/share/doc/postgresql/README.rpm-dist for more information.
May 10 01:15:07 xxxx systemd[1]: postgresql.service: Control process exited, code=exited, status=1/FAILURE
May 10 01:15:07 xxxx systemd[1]: postgresql.service: Failed with result 'exit-code'.
May 10 01:15:07 xxxx systemd[1]: Failed to start PostgreSQL database server.

 

どうやら、PostgreSQL のメジャーバージョンが、10 から 11 にアップグレードされたらしいです。
以下のコマンドを実行しました。

# postgresql-setup --upgrade
(表示)
* Upgrading database.
* Upgraded OK.
WARNING: The configuration files were replaced by default configuration.
WARNING: The previous configuration and data are stored in folder
WARNING: /var/lib/pgsql/data-old.
WARNING: If you've just upgraded your database from a previous major version of
Fedora or RHEL, please run reindexdb against your databases. Core library
collation data may have changed and this will invalidate database indexes. For
example, in Fedora 28 and RHEL 8 there have been extensive changes in glibc
collations to support ISO 14651:2016 (Unicode 9.0.0 data) and your indexes may
be affected: https://sourceware.org/ml/libc-announce/2018/msg00002.html
* See /var/lib/pgsql/upgrade_postgresql.log for details.

今までのデータベース領域は、/var/lib/psql/data-old に退避したといことらしいです。
起動したか確認します。

# systemctl status postgresql
postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
Active: active (running) since xxxxxxxx
Process: 1479 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS)
Main PID: 1481 (postmaster)
Tasks: 8 (limit: 1141)
Memory: 16.2M
CGroup: /system.slice/postgresql.service
├─1481 /usr/bin/postmaster -D /var/lib/pgsql/data
├─1482 postgres: logger
├─1484 postgres: checkpointer
├─1485 postgres: background writer
├─1486 postgres: walwriter
├─1487 postgres: autovacuum launcher
├─1488 postgres: stats collector
└─1489 postgres: logical replication launcher

May 10 01:21:47 xxxxxxxx systemd[1]: Starting PostgreSQL database server...
May 10 01:21:47 xxxxxxxx postmaster[1481]: 2019-05-10 01:21:47.355 JST [1481] LOG: listening on IPv6 address "::1", port >
May 10 01:21:47 xxxxxxxx postmaster[1481]: 2019-05-10 01:21:47.356 JST [1481] LOG: listening on IPv4 address "127.0.0.1",>
May 10 01:21:47 xxxxxxxx postmaster[1481]: 2019-05-10 01:21:47.357 JST [1481] LOG: listening on Unix socket "/var/run/pos>
May 10 01:21:47 xxxxxxxx postmaster[1481]: 2019-05-10 01:21:47.361 JST [1481] LOG: listening on Unix socket "/tmp/.s.PGSQ>
May 10 01:21:47 xxxxxxxx postmaster[1481]: 2019-05-10 01:21:47.372 JST [1481] LOG: redirecting log output to logging coll>
May 10 01:21:47 xxxxxxxx postmaster[1481]: 2019-05-10 01:21:47.372 JST [1481] HINT: Future log output will appear in dire>
May 10 01:21:47 xxxxxxxx systemd[1]: Started PostgreSQL database server.

 

無事起動しているようです。

バージョンを確認しました。

# postmaster --version
postgres (PostgreSQL) 11.2

11.2 になっています。

Web ページをリロードすると、今度は、以下の表示が出ています。

ERROR: SQLSTATE[08006] [7] FATAL: Ident authentication failed for user "postgres"

退避した pg_hba.conf はどうなっていたかな。

# diff -ruNp data/pg_hba.conf data-old/pg_hba.conf
--- data/pg_hba.conf 2019-05-10 01:20:27.400566913 +0900
+++ data-old/pg_hba.conf 2018-05-22 09:11:24.777453980 +0900
@@ -77,11 +77,14 @@
# TYPE DATABASE USER ADDRESS METHOD

# "local" is for Unix domain socket connections only
-local all all peer
+#local all all peer
+local all all trust
# IPv4 local connections:
-host all all 127.0.0.1/32 ident
+#host all all 127.0.0.1/32 ident
+host all all 127.0.0.1/32 trust
# IPv6 local connections:
-host all all ::1/128 ident
+#host all all ::1/128 ident
+host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer

最小限の修正で済ませたいな。

具体的には、/var/lib/pgslq/data/pg_hba.conf を開き、IPv6 の行の METHOD カラムを、
trust に修正して postgresql 再起動したらいけました。

このサーバでは、IPv6 が有効になっているため、優先的に IPv6 が使われるためのようですね。

お腹すいたァ。。

sosreport-analyzer-ng の開発状況(2019-5-6)

sosreport-analyzer-ng の最新版ですが、v1.0.120 となっています。

そろそろ、次のプログラムを作ろうと思っています。

多くのメンバを解析するのに時間がかかるので、sosreport-analyzer-mt を立てました。

これからは、そちらに注力していこうと思います。なお、sosreport-analyzer-ng は、それなりに続けていきます。

腹へったよー。

 

github.com

sosreport-analyzer-ng の開発状況(2019-5-1 その2)

sosreport-analyzer-ng ですが、最新版は、v1.0.115 となっています。

etc/anacrontab をメンバーに加えましたよ。

github.com

明日は晴れだろう。

sosreport-analyzer-ng の開発状況(2019-4-29)

sosreoprt-analyzer-ng ですが、最新バージョンが、v1.0.112 となりました。

etc/cron.hourly, etc/cron.daily, etc/cron.weekly, etc/cron.monthly がメンバに加わりました。

github.com

雨かな。。

sosreport-analyzer-ng の開発状況(2019-4-22)

sosreport-analyzer-ng ですが、最新版は v1.0.108 となりました。

表示する順番を変えて、わかりやすくしています。

あつい。。

github.com