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

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

3
ティックレスで高解像度のタイマーを使用している場合、1000 HZ linuxカーネルが必要ですか?
サーバーのパフォーマンスを改善しようとしています。低ジッター(10ミリ秒未満の変動)が必要なプロセスがいくつかあります。 i7-920(4つの物理コア、8つはHT)で最大4つの負荷平均を持っています。コアユーザーモードの40%〜90%の範囲で約10のプロセスがあります。システム使用量は合計3%です。合計CPU使用率は最大80%です。 ティックレスタイマーと高解像度タイマーが既に設定されている場合、カーネルを100hzから1000hzに設定するとジッターが改善されますか? このページは、まだ何かをしていることを示しているようです。https://lkml.org/lkml/2009/4/28/401 自発的(PREEMPT_VOLUNTARY)からプリエンプティブ(PREEMPT)に変更するのはどうですか?

5
tc u32 —最近のカーネルでL2プロトコルを一致させる方法は?
ハッシュフィルタリングを備えた、Linuxブリッジで構築された素晴らしいシェーパーがあります。要するに、br0接続externalとinternal物理インターフェース、VLANタグ付きパケットは「透過的に」ブリッジされます(つまり、VLANインターフェースはありません)。 現在、異なるカーネルは異なる方法でそれを行います。正確なカーネルバージョンの範囲が間違っている可能性がありますが、ご容赦ください。ありがとう。 2.6.26 したがって、debianでは、2.6.26以降(2.6.32まで、私は信じています)---これは動作します: tc filter add dev internal protocol 802.1q parent 1:0 prio 100 \ u32 ht 1:64 match ip dst 192.168.1.100 flowid 1:200 ここで、「カーネル」は0x8100の「プロトコル」フィールドの2バイトに一致しますが、IPパケットの先頭を「ゼロ位置」としてカウントします(少し不明瞭な場合は英語でごめんなさい)。 2.6.32 繰り返しますが、debian(私はバニラカーネルを構築していません)では、2.6.32-5 ---これは動作します: tc filter add dev internal protocol 802.1q parent 1:0 prio 100 \ u32 ht 1:64 match ip dst 192.168.1.100 at 20 …

3
mdevとは何ですか?/ dev / *ノードをLinuxで作成する方法は?
私たちのLinuxカーネルは2.6.31で、busyboxが組み込まれた組み込みMIPSプロセッサーで実行されています。 初期化スクリプト(rcS)はmdevを次のように開始します。 echo "/sbin/stbhotplug" > /proc/sys/kernel/hotplug mdev -s Linuxユーティリティのmdevが何をしているのか誰か教えてもらえますか? stbhotplugはイーサネットインターフェイスを処理するスクリプトであるため、自動ホットプラグを行うように見えます。 また、与えられたrootfsにはコンソールデバイス/dev/consoleしかありません/dev。つまり、内の唯一のファイルです。 ただし、システムの実行中は、/devディレクトリにデバイスファイル(/dev/mtdなど)がいっぱいです。 私が尋ねる理由/dev/ubi_ctrlは、見つからない、または見つからないというエラーが時々発生することです/dev/ubi1。 Linuxはどのように、またはいつこれらのデバイスを作成しますか? ありがとう。

2
VPSでLinuxカーネルを更新できません
最近、OVHからVPSを使い始めました:http ://www.ovh.co.uk/vps/vps-classic.xml これは、この1つのプロバイダーに固有の問題である可能性があります。 私の目標は、Dockerをインストールして実行することです。これには、カーネルサポートモジュールが必要です。デフォルトでは、OVHのVPSマシンは、Dockerがクラッシュしないカスタムカーネルを使用します。uname -rが表示されるたびに、VPSに利用可能なDebian(6、7)およびUbuntu(12.04、13.10)のさまざまなバージョンを使用して、マシンを数回再インストールしてみました uname -r 2.6.32-042stab084.14 ... / bootディレクトリが空で、grubもliloもインストールされていません。linux-imageパッケージはインストールされていませんが、利用可能です。 リポジトリからLinuxカーネルをインストールし、GRUBを更新し、GRUBを更新し(これは私がグーグルアウトした広く普及しているアドバイスです)、マシンを再起動してもほとんど効果がありません。Grubは1つのシステムイメージ、新しくインストールされたもの、/ bootを検出しますが、システムは上記のカーネルを実行します。これと上記の症状は私を大いに困惑させます:そもそもこのマシンはどれほど正確に起動しますか?ネットブート?それを確認する方法、この動作を変更する方法? ネットブートのアイデアに従って、もう一度Googleをチェックしたところ、OVH Webマネージャーバージョン3にネットブート設定を変更するオプションがあることがわかりました。私はVPSをいじくるのにマネージャーv.6を使用しています(機能がそこに移動していると言います)。そこではそのようなオプションは見つかりませんでした。以前のマネージャーバージョンにはVPSさえ表示されません。 これは私が今までどこまで行ったかです。このVPSで標準のリポジトリカーネルを実行したいのですが、この設定がどのように機能するのか、なぜそれほど問題があるのか​​についての説明も歓迎します。

3
カーネルパニックがハングした後、サーバーのログを表示するにはどうすればよいですか?
私は本番gentoo Linuxマシンを実行しています。最近、サーバーが同じ場所にある敷地内でハングし、そこにたどり着くと、サーバーがカーネルパニックハングのように見える状態でハングしていることに気付きました。ハードリブートでマシンを再起動しましたが、マシンがハングした理由に関する証拠の断片がどこにも見つからなかったことに失望しました。 ハードリブートを実行すると、メッセージ自体が失われるか、少なくともsyslog-ngまたはおそらくsysctlでエラーログを保存して、このような事故の発生を防ぐことができる設定があるのは本当ですか?将来は ?ところで、2.6.xカーネルを実行しています。 前もって感謝します。

2
nic:邪悪なことが起こった!ffff
Debian Stretch(9.7)を使用してGNU / Linuxルーターを構成しています。サーバーを再起動する前に、あるインターフェースから別のインターフェースへのすべてのトラフィックは問題なく動作していましたが、その後、次のようなメッセージ(tty)を受け取りました。 enp1s6: Something Wicked happened! ffff. テスト目的で、同じスイッチと同じネットワーク上にホストがあり、基本的に、ルーターのLANがエコー要求に応答していません。 サーバーに関するいくつかの情報を示します。 kernel.log Jan 25 08:58:02 server001 kernel: [25060.494127] enp1s6: Link changed: Jan 25 08:58:02 server001 kernel: [25060.494127] 100Mbps, half duplex Jan 25 08:58:02 server001 kernel: [25060.494254] enp1s6: Something Wicked happened! ffff. Jan 25 08:58:02 server001 kernel: [25060.497338] enp1s6: Link up …

1
Linuxでパケットごとのマルチパスルーティングを実現する方法
Linuxカーネル3.6より前のバージョンでは、IPv4マルチパスルーティングを行うためにルートキャッシングを使用していました。つまり、2つの別々の回線/ ISP間のルーティングは非常に簡単でした。3.6から、アルゴリズムはパケットごとに変更されました。つまり、2つの回線/ ISPを実現するには、ルートテーブル/ルール/ iptablesマーカーのトリックが必要でした。 ただし、同じISPで2つの回線を使用していて、単一のIPをパケットごとにバランスのとれた/フェイルオーバー方式で両方の回線にルーティングできる場合、3.6から、次の理由により(IPレベルで)回線のボンディングを簡単に実現できます。双方向のパケットごとのルーティング。 4.4から、カーネルは再び、送信元アドレスと宛先アドレスのハッシュに基づくフローベースのロードバランシングに変更されました。 現在カーネル4.4.36を実行しており、PPPoE接続でマルチパスルーティングを使用しています。ISPからのダウンストリームトラフィックは、パケットごとに2つの別々の回線にルーティングされます(1つのIPが両方の回線にルーティングされます)。これにより、個々の回線の速度よりもダウンロード速度が速くなります。両方のラインの速度がほぼ加算されます。Skypeのビデオ、VoIP(UDP)、YouTubeなどがすべてうまく機能します。 このような優れたダウンストリームエクスペリエンスがあるため、アップストリームを試したいのですが、アップストリームトラフィックは両方のpppデバイス(同じIPアドレスを持つ)全体で新しいフローベースのアルゴリズムに従ってルーティングされます。これは、1行の速度よりも速いアップロード速度を実現できないことを意味します。 パケットごとのアルゴリズムを使用するように現在のカーネルを構成する方法はありますか?または、パケットごとのマルチパスルーティングを実現する他の方法はありますか?古いカーネルに戻す必要がありますか(他のさまざまな理由でやりたくない)。 私のISPはマルチリンクPPPをサポートしていません。 関連性がある場合、私は現在、Raspberry Pi 3でArch Linux ARMv7を実行しています。

1
Linuxキャッシュが大きすぎるとQEMUがメモリを割り当てられないのはなぜですか?
私のマシン[Ubuntu 16.04 64ビット、カーネル4.4]をしばらく使用すると、QEMUはカーネルキャッシュを削除する必要があります。そうしないと、RAMを割り当てることができません。 なぜそれが起こるのですか? これはサンプル実行です: ~$ free -m total used free shared buff/cache available Mem: 15050 5427 3690 56 5931 4803 Swap: 0 0 0 ~$ sudo qemu-system-x86_64 -m 10240 # and other options qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory ~$ echo 3 | sudo tee …

2
CentOSで既存および将来のすべてのカーネルのデフォルトのカーネルパラメータを設定するにはどうすればよいですか?
CentOS 6でカーネルを起動するときにデフォルトで使用されるrhgbとquietカーネルパラメータを削除したいのですが、これを現在インストールされているすべてのカーネルだけでなく、将来インストールされるカーネルにも適用したいと考えています。スクリプトからこれを行う必要があるので、手動でファイルを編集することはできません。ファイルの変更はできるだけきれいに行う必要があります。 Debian / Ubuntuでは、に切り替えGRUB_CMDLINE_LINUX_DEFAULTて/etc/default/grub実行しupdate-grubます。私はこのような設定で見つけることができない/etc/sysconfig/grubか、/etc/sysconfig/kernelしかしを、またそこにあるupdate-grubスクリプトが。

2
Linuxカーネルのバージョン管理:Debian SidとUbuntu Precise
2つのマシンをセットアップしました。 1台のマシンにUbuntu Precise 12.04ベータ版をインストールし、最新のパッケージにdist-upgradedしました。 他のマシンにDebian Sid Unstableをインストールし、最新のパッケージにdist-upgradedしました。 Ubuntuマシンでは、una​​me -aは次のようになります。 Linux 3.2.0-20-generic#32-Ubuntu SMP Thu Mar 22 02:22:46 UTC 2012 x86_64 x86_64 x86_64 GNU / Linux Debianマシンでは、una​​me -aは次のようになります。 Linux 3.2.0-2-amd64#1 SMP Wed Mar 28 13:28:04 UTC 2012 x86_64 GNU / Linux 私の質問はカーネルのバージョンについてです: Ubuntu: 3.2.0-20-generic Debian: 3.2.0-2-amd64 Linuxのバージョン3.2がリリースされました: linux-3.2.tar.gz 05-Jan-2012 00:40 94M それ以来、13ポイントのリリース、kernel.orgの3.2.1 …

1
フラッシュプロセスがCPUを過度に消費する
サーバーはEC2インスタンスであり、HTTPDからNAS(NFS)にファイルを保存することを表しています。 flush-0:32のようなプロセスは、CPUの%90以上を消費し、平均負荷は65.50、64.02、66.59です。 グラフによると、初期負荷平均が4コアで約1.01、2.02、1.80である間、それは毎日増加しています。ロードバランサーの下に同様のインスタンスをもう1つ追加しましたが、そのCPU使用率は約%6 ATMです。 これらのフラッシュプロセスは正確に何をしますか? クライアントがデータを書き込むだけでよい場合は、NFS属性キャッシュをオフにする必要がありますか? パケットの断片化が原因である可能性がありますか? ここにいくつかの統計がありnfsstat -s -4ます: ================================================================= Server 0: Server rpc stats: calls badcalls badauth badclnt xdrcall 715054137 0 0 0 0 Server nfs v4: null compound 993 0% 715053143 99% Server nfs v4 operations: op0-unused op1-unused op2-future access close commit 0 0% 0 0% 0 …

1
/ proc / sys / fs / file-maxのデフォルト値
/ proc / sys / fs / file-maxはオープンファイル記述子の最大数を定義し、実行時または起動時に設定できることを知っています。 ただし、そのデフォルト値は何ですか?私の会社で10台のサーバーをチェックすると、7つの異なる値が得られます。 カーネルのドキュメントでは、値を変更できることについて言及し続けていますが、デフォルト値の計算方法については触れていません。 デフォルト値の決定方法を知っている人はいますか?

1
Linuxでsystemdを使用してIP転送を適切に永続的に有効にする方法は?
私は、IP(間の転送有効にしようenp0s3とtun0のインタフェース)と書き込みをnet.ipv4.ip_forward = 1して/etc/sysctl.conf。再起動後、 $ cat /proc/sys/net/ipv4/ip_forward 1 しかし、転送はまだ機能していません。追加しようとしnet.ipv4.conf.default.forwarding=1てい/etc/sysctl.confます。今再起動後、私は持っています $ cat /proc/sys/net/ipv4/ip_forward 1 $ cat /proc/sys/net/ipv4/conf/default/forwarding 1 $ cat /proc/sys/net/ipv4/conf/all/forwarding 1 $ cat /proc/sys/net/ipv4/conf/enp0s3/forwarding 0 $ cat /proc/sys/net/ipv4/conf/tun0/forwarding 0 私は有効にすることはできません/proc/sys/net/ipv4/conf/enp0s3/forwardingと/proc/sys/net/ipv4/conf/tun0/forwardingでsysctl.confこれらのファイルは、このような初期ブート時に存在していないため。 systemd-sysctl[85]: Couldn't write '1' to 'net/ipv4/conf/enp0s3/forwarding', ignoring: No such file or directory systemd-sysctl[85]: Couldn't write '1' to 'net/ipv4/conf/tun0/forwarding', ignoring: No such …

3
Linux:パフォーマンスガバナーを使用すると、CPU周波数が変動するのはなぜですか?
私はベンチマークにDebian 8 amd64マシンを使用しています。実験中は、CPUを固定周波数(できれば可能な限り最大)で動作させたいと思います。これにより、結果の変動の原因としてCPUクロック速度が除外されます。 少し読んだ後、正しいことは、CPUガバナーをに変更することですperformance。これについては、Linuxカーネルのドキュメントで説明しています。 CPUfreqガバナーの「パフォーマンス」は、CPUをstatic_min_freqとscaling_max_freqの境界内で最も高い周波数に静的に設定します。 悲しいことに、およそ詳細scaling_min_freqとはscaling_max_freq付属していません。使用するCPU周波数が間隔の最大値であるため、うまくいけば問題ありません。 だから私はcpufreq-setを使用してこのガバナーを有効にしました: $ cat / sys / devices / system / cpu / cpu * / cpufreq / scaling_governor パフォーマンス パフォーマンス パフォーマンス パフォーマンス そして、適切な対策として、BIOSでターボブーストモードを無効にしました。 $ cat / sys / devices / system / cpu / intel_pstate / no_turbo 1 上記のパフォーマンスガバナーの説明に基づいて、CPUクロック速度の変動はないと予想します。しかし、繰り返し実行するcpufreq-infoと、クロック速度が変動します。 $ cpufreq-info | grep 'current …

2
OOMキラーログで完全なプログラムコマンドライン引数を表示する
OOMキラーログで完全なプログラムコマンドライン引数を表示することは可能ですか?/ var / log / syslogに今表示されているのは Memory cgroup out of memory: Kill process 29187 (beam.smp) score 998 or sacrifice child Killed process 29302 (cpu_sup) total-vm:4300kB, anon-rss:76kB, file-rss:272kB beam.smp invoked oom-killer: gfp_mask=0xd0, order=0, oom_score_adj=0 beam.smp cpuset=/ mems_allowed=0-3 私のマシンには多くのBeam.smpプロセスがあり、OOMキラーによってどのプロセスが強制終了されたかを調べるのはあまり便利ではありません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.