タグ付けされた質問 「linux-kernel」

Linuxカーネルは、UnixライクなオペレーティングシステムのLinuxファミリで使用されるオペレーティングシステムカーネルです。これは、フリーでオープンソースのソフトウェアの最も顕著な例の1つです。


2
vm.overcommit_memoryの構成の影響
CentOS 5.4(Linuxカーネル2.6.16.33-xenU)で不規則に実行されているVPS Webサーバー(月に1回程度、数週間または数週間かかる)は、oom-killerの起動により応答しなくなります。サーバーの監視では、通常はメモリ不足になります。 次のsysctl設定を使用して、オーバーコミットをより適切に管理するためのカーネルの構成について説明しているこのページを指すブログをいくつか読みました。 vm.overcommit_memory = 2 vm.overcommit_ratio = 80 これについての私の理解(間違っているかもしれませんが、明確にするための標準的な定義が見つかりません)は、これによりカーネルがスワップ+物理メモリの80%を超えてメモリを過剰に割り当てることを防ぎます。 しかし、私はまた、読んだことがあるいくつかのこのアプローチの批評家がいることを前提に、「むしろ、この場しのぎをしようとするよりも、あなたのシステムを破るために、物事をしない」と言っているように見えるが、 -これらの設定は良いアイデアではないことを示唆している他のソースを因果関係は常に知られています。 だから私の質問は、約10の低トラフィックサイトをホストしているApache2 Webサーバーのコンテキストで、このアプローチの長所と短所は何ですか?私の場合、Webサーバーには512MbのRAMがあり、1024Mbのスワップスペースがあります。これは、ほとんどの場合に適切であると思われます。

11
再起動せずにホットスワップインした新しいSATA / dev / sdaドライブをLinuxに認識させるにはどうすればよいですか?
失敗したSATA / dev / sdaドライブのホットスワップアウトは正常に機能しましたが、新しいドライブにスワップしようとしたときに認識されませんでした。 [root@fs-2 ~]# tail -18 /var/log/messages May 5 16:54:35 fs-2 kernel: ata1: exception Emask 0x10 SAct 0x0 SErr 0x50000 action 0xe frozen May 5 16:54:35 fs-2 kernel: ata1: SError: { PHYRdyChg CommWake } May 5 16:54:40 fs-2 kernel: ata1: link is slow to respond, please be …

5
最新のファイルシステムで何百万ものファイルのパフォーマンスにどのような影響がありますか?
ext4(dir_indexを有効にした)を使用して約3Mファイル(平均750KBサイズ)をホストし、使用するフォルダースキームを決定する必要があるとしましょう。 で最初のソリューションは、我々はファイルにハッシュ関数を適用し、(最初のレベルのための1つの文字と第二のレベルに2つの文字である)フォルダ二つのレベルを使用しますので、というfilex.forハッシュに等しいabcde1234、我々は上/パスに保存します/ a / bc /abcde1234-filex.for。 第二の溶液、我々はファイルにハッシュ関数を適用し、(最初のレベルのために2つの文字及び第レベルに2つの文字である)フォルダ二つのレベルを使用します。したがって、あるfilex.forハッシュに等しいabcde1234を、我々はそれを保存します/パス/ ab / de /abcde1234-filex.for。 最初のソリューションでは、フォルダー(ファイルが存在する最後のフォルダー)あたり平均732ファイルの次のスキーム/path/[16 folders]/[256 folders]を使用します。 2番目のソリューションでは/path/[256 folders]/[256 folders]、フォルダーごとに平均45個のファイルがあります。 このスキーム(基本的にはnginxキャッシングシステム)からファイルの書き込み/リンク解除/読み取り(ただしほとんどは読み取り)を行うことを考えると、いずれかのソリューションを選択した場合、パフォーマンスの意味で重要ですか? また、この設定を確認/テストするために使用できるツールは何ですか?

9
1つのext3ディレクトリ内のファイルの最大数は、許容可能なパフォーマンスを得ていますか?
サーバーフォールトで回答できるため、 この質問はStack Overflowから移行されました。 9年前に移行され ました。 私はext3ディレクトリに書き込むアプリケーションを持っていますが、それはやがて約300万のファイルに成長しました。言うまでもなく、このディレクトリのファイル一覧を読むのは耐えられないほど遅いです。 ext3のせいにしません。適切な解決策は、./a/b/c/abc.extのみを使用するのではなく、などのサブディレクトリにアプリケーションコードを書き込むことでした./abc.ext。 私はそのようなサブディレクトリ構造に変更していますが、私の質問は単純です:許容されるパフォーマンスを得ながら、1つのext3ディレクトリにおよそいくつのファイルを保存する必要がありますか?あなたの経験は? または言い換えれば、300万個のファイルを構造体に保存する必要があると仮定した場合、./a/b/c/abc.ext構造体の深さはいくつになりますか? 明らかにこれは正確に答えることができない質問ですが、私は球場の見積もりを探しています。

4
Linuxメモリの断片化
サーバーフォールトで回答できるため、 この質問はStack Overflowから移行されました。 9年前に移行し ました。 Linuxでメモリの断片化を検出する方法はありますか?これは、一部の長時間実行されているサーバーでパフォーマンスの低下に気づき、プロセスを再起動した後にのみパフォーマンスが向上するためです。Linuxのヒュージページサポートを使用すると、Linuxのヒュージページが断片化されやすくなることに気付きました。 特に/ proc / buddyinfoを見ました。私はそれを見るためのより良い方法(CLIコマンド自体だけでなく、プログラムや理論的背景が行うであろう)があるかどうかを知りたいです。

2
CPUがIO(wa)に時間を費やしたのはなぜですか?
私はwa(でtop)I / Oを待ってCPU時間を測定することを知っています。多くの記事がそう言っています。 しかし、私はそれを混乱させています、2つの知識ポイントに基づいて: プロセスがシステムコールを使用してディスクを読み取る場合、プロセスはブロックされます。 プロセスがブロックされている場合、CPUで実行するようにスケジュールすることはできません。 正しい? CPUがI / Oを待機する時間がないようです...どうなりますか? さらに読むために私のためにいくつかの本や記事をお勧めする場合は、はるかに良い。

1
xfs、20個のディスク、Cephを備えた「大規模」サーバーでのページの断片化の原因
Linux IOシステムの経験が少しある人からの洞察は役に立ちます。これが私の話です。 最近、6つのDell PowerEdge rx720xdsのクラスターを立ち上げ、Ceph経由でファイルを提供しました。これらのマシンには、2つのnumaゾーンと70の奇数ギガバイトのメモリを備えた2つのソケット上に24のコアがあります。ディスクは、それぞれ1つのディスクのRAIDとしてフォーマットされます(そうでなければ、直接ディスクを公開する方法がわかりませんでした)。ネットワークは、mellanox infiniband IP over IBによって提供されます(IPパケットは、ハードウェアではなくカーネルランドでIBに変換されます)。 各SASドライブは次のようにマウントされています。 # cat /proc/mounts | grep osd /dev/sdm1 /var/lib/ceph/osd/ceph-90 xfs rw,noatime,attr2,inode64,noquota 0 0 /dev/sdj1 /var/lib/ceph/osd/ceph-87 xfs rw,noatime,attr2,inode64,noquota 0 0 /dev/sdu1 /var/lib/ceph/osd/ceph-99 xfs rw,noatime,attr2,inode64,noquota 0 0 /dev/sdd1 /var/lib/ceph/osd/ceph-82 xfs rw,noatime,attr2,inode64,noquota 0 0 /dev/sdk1 /var/lib/ceph/osd/ceph-88 xfs rw,noatime,attr2,inode64,noquota 0 0 /dev/sdl1 /var/lib/ceph/osd/ceph-89 xfs rw,noatime,attr2,inode64,noquota …

2
Linuxカーネルが誤ったプロセッサー周波数を検出
6.0.8 Debianサーバー(HP ProLiant)のコールドブート後、ntpdシステム時間で大混乱を演じました:制限なしに成長する通常の信頼できる基準時間サーバーに対するオフセットとジッター。(双子の同一サーバーにはまったく問題がなかったことに注意してください。)ntpd側で問題を解決するための試行が何度も失敗した後、リブートを試みることにしました。 問題を調査するために、この矛盾を見つけました。これは私の時計の問題を説明することができます。 root@n1:~# zgrep Detected /var/log/dmesg* /var/log/dmesg:[ 0.004000] Detected 2400.110 MHz processor. /var/log/dmesg.0:[ 0.004000] Detected 2383.579 MHz processor. /var/log/dmesg.1.gz:[ 0.004000] Detected 2400.036 MHz processor. /var/log/dmesg.2.gz:[ 0.004000] Detected 2400.298 MHz processor. /var/log/dmesg.3.gz:[ 0.004000] Detected 2400.165 MHz processor. /var/log/dmesg.4.gz:[ 0.004000] Detected 2400.410 MHz processor. 2番目の最後のブート(問題のあるブート)では、検出されたCPU周波数は明らかな異常値であることに注意してください。外れ値がない場合、公称周波数に対する検出周波数の誤差と標準偏差は+0.15 MHz±0.25 MHzです。問題のあるブートの場合、-16.4 Mhzのエラーがあり、これは予想よりも約100倍大きくなっています。 私の質問: このタイプのエラーにより、ntp時間の規律が不安定/使用不能になりますか?これが私の時計の問題の原因ですか? …

4
CentOS 6.xでカーネル3.4にアップグレードするにはどうすればよいですか?
カーネルバージョン2.6.32でCentOS 6.2を実行しているサーバーがありますが、アプリケーションのパフォーマンスを向上させる必要があります。 カーネルバージョン3.4にはパフォーマンスを改善できるx32abiがありますので、3.4にアップグレードしたいですか?出来ますか? カーネルのコンパイルとインストールをダウンロードしようとしましたが、同じカーネルバージョンが表示されます。 何が悪かったのか?以下のリンクに記載されているプロセスに従いました。 http://www.tecmint.com/kernel-3-5-released-install-compile-in-redhat-c​​entos-and-fedora/

2
CoreOS:tcpdumpはネットワークの問題を不思議に解決します(過剰な数のソケットが使用されています)
今日はあなたのために謎があります。AzureでCoreOS(2023.5.0 / Linux 4.19.25-coreos)に基づいた小さな3ノードのElasticsearchクラスターを実行します。Elasticsearchは、ホストネットワークモードのDockerコンテナ内で実行されます。ほぼ完全にメンテナンスフリーで1年以上稼働した後、マシンが非常に興味深い状態になるのを見てきました。 更新 この問題は、Linuxカーネルのドライバーを修正することで解決しました。以下の回答をご覧ください。 症状 基本的に、影響を受けるマシンと他の2つのノード間のネットワークは停止します。すべてが同じ仮想ネットワークと同じサブネットにあり、通常は他のeathと通信できます。影響を受けるノードは、他のサブネット(sshに接続できます)および別のピア仮想ネットワークからも到達できます。マシンにはインターネットへの(非常にむらのある)接続もありますが、ほとんどの要求はタイムアウトになります。 影響を受けるノードで報告される「使用されるソケット」の数/proc/net/sockstatが非常に多いことを確認しました(正常なノードでは〜300ではなく〜4.5k)。監視により、この数はノードが利用できなくなった瞬間から急速に増加することがわかります。 面白いのは、これらの使用済みソケットのソースを特定できないように見えることです。 # cat /proc/net/sockstat sockets: used 4566 TCP: inuse 2 orphan 0 tw 2 alloc 98 mem 4 UDP: inuse 1 mem 0 UDPLITE: inuse 0 RAW: inuse 0 FRAG: inuse 0 memory 0 # cat /proc/net/sockstat6 TCP6: inuse 98 UDP6: …

1
net.core.rmem_maxとnet.ipv4.tcp_rmemの違い
net.core.rmem_maxとnet.ipv4.tcp_rmemの3番目の値の違いは何ですか?TCP接続の優先度が高いのはどれですか? 以下の2つの例で、tcp接続の最大バッファーはいくらですか? Case 1: sysctl -w net.core.rmem_max=7388608 sysctl -w net.ipv4.tcp_rmem='4096 87380 8388608' Case 2: sysctl -w net.core.rmem_max=8388608 sysctl -w net.ipv4.tcp_rmem='4096 87380 7388608'


2
Linuxでダウンタイムを避ける方法は?
Ubuntuのソフトウェアアップデートでは、再起動が必要になることがよくあります(ダウンタイムなどの副作用が発生する可能性があります)。 Ubuntuにはhttps://www.ubuntu.com/livepatchがあり、再起動せずにカーネルを更新できますが、これは有料サービスです。kspliceもありますます。 アップグレード/パッチが再起動を必要としないLinuxディストリビューション/プロセスはありますか? (私は、高可用性(HA)のサーバを設定し、使い捨てのサーバーを持っているベストプラクティスを知っている-私はせないサービスを追いついについて尋ね、実際のサーバー上で。)

3
/ proc / net / tcp6が:: 1を:: 100:0で表す理由
netstat出力を解析するよりも高速であるため、アクティブな接続について/ proc / net / tcpおよびtcp6をチェックするユーティリティを作成していました。 実際にはipv6を有効にしていないので、主にlocalhostを参照ポイントとして利用していました。ここに私の/ proc / net / tcp6のコピーがあります sl local_address remote_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode 0: 00000000000000000000000000000000:006F 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 19587 1 ffff880262630000 100 0 0 10 -1 1: 00000000000000000000000000000000:0050 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.