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

UNIXカーネルに関するすべて:開発、構成、コンパイル、設計など

4
Linux 3.0.0-12-serverでkworkerが多くのリソースを消費するのはなぜですか?
先週の金曜日、Ubuntuサーバーを11.10にアップグレードしました。このサーバーは3.0.0-12-serverカーネルで実行されます。それ以来、全体的なパフォーマンスは劇的に低下しました。アップグレード前のシステム負荷は約0.3でしたが、現在16 GBのRAMを搭載した8コアCPUシステムで22〜30です(10 GBの空き容量、スワップは使用されていません)。 [md1_raid1]と[btrfs-transacti]が多くのリソースを消費したため、BTRFSファイルシステムドライバーとその下にあるMDアレイを非難するつもりでした。しかし、すべての[kworker / *:*]はさらに多くを消費します。 sar 金曜日以来、これと同じようなものを絶えず出力しています: 11:25:01 CPU %user %nice %system %iowait %steal %idle 11:35:01 all 1,55 0,00 70,98 8,99 0,00 18,48 11:45:01 all 1,51 0,00 68,29 10,67 0,00 19,53 11:55:01 all 1,40 0,00 65,52 13,53 0,00 19,55 12:05:01 all 0,95 0,00 66,23 10,73 0,00 22,10 そしてiostat、書き込み速度が非常に低いことを確認します。 sda …
19 kernel  performance  cpu  load 

3
信頼できるキーで署名されていないPKCS#7署名
MacBook 2017でSIPを無効にしてUbuntuをインストールしました-0の問題、数秒で起動しました。 私はそれを構築し、WiFiを機能させようとしているときに問題を作成しました。ある時点で(非常に遅かった)3つのことの組み合わせが起こりました: SIPを有効にしました Broadcom 4360xドライバーをインストールしようとしました GitHubリポジトリからタッチパッドドライバーを再インストールしました これらはアイテムです: [ +0.001007] input: Apple Inc. iBridge as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.2/0003:05AC:8600.0001/input/input7 [ +0.057765] hid-generic 0003:05AC:8600.0001: input,hidraw0: USB HID v1.01 Keyboard [Apple Inc. iBridge] on usb-0000:00:14.0-3/input2 [ +0.000196] hid-generic 0003:05AC:8600.0002: hiddev0,hidraw1: USB HID v1.01 Device [Apple Inc. iBridge] on usb-0000:00:14.0-3/input3 [ +0.000230] PKCS#7 signature not signed …

1
カーネルでコンパイルされた(ロードされていない)カーネルモジュールを無効にする
私のサーバーには2つの1ギガビットと10ギガビットのオンボードネットワークカードがあります。 1ギガビットネットワークカードを完全に無効にする必要があるため、ifconfig -a表示されません。 ネットワークカードは異なるカーネルモジュールを使用します。10ギガビットの使用ixgbe、および1ギガビットの使用igb。 01:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) Subsystem: Dell Ethernet 10G 4P X520/I350 rNDC Kernel driver in use: ixgbe 05:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01) Subsystem: Dell I350 Gigabit Network Connection Kernel driver in use: igb …

2
Red Hat Linuxがこのような古いカーネルを使用するのはなぜですか?
RHEL(およびその派生物)がなぜこのような古いカーネルを使用するのですか?2.6.32-xxxを使用していますが、これは私には古く思えます。彼らはそのカーネルで新しいハードウェアをどのようにサポートしていますか?私の知る限り、これらの種類のディストリビューションはかなり最新のハードウェアで実行されます。

3
「引数リストが長すぎます」:コマンドを変更せずにどのように処理しますか?
のようなコマンドを実行するとls */*/*/*/*.jpg、エラーが発生します -bash: /bin/ls: Argument list too long これが起こる理由はわかっています。それは、コマンドへの引数のためのスペースの量にカーネルの制限があるためです。標準的なアドバイスは、使用するコマンドを変更して、引数に非常に多くのスペースを必要としないようにすることです(たとえば、findandを使用xargs)。 コマンドを変更したくない場合はどうすればよいですか?同じコマンドを使い続けたい場合はどうすればよいですか?このエラーを取得せずに、「機能する」ようにするにはどうすればよいですか?どのソリューションが利用可能ですか?

3
ブート間で/ sysへの変更を永続的にする
"echo 1 > /sys/kernel/mm/ksm/run"ブート間で永続的にしたい。私はファイルシステムの変更を永続化/etc/sysctl.confするために編集できることを知ってい/procますが、これはうまくいかないようです/sys。再起動後もこの変更を行うにはどうすればよいですか?

3
既存のファイルを書き換えて、完全に一度だけ書き込まれた後、アトミックに新しいバージョンに置き換えられるようにします
私は漠然と、どこかで読んだことを覚えています。一部のUnicesでは、既存のファイルを書き込み用に開き、カーネルに古いバージョン(読み取り用にアクセスする他のプロセス)を使用するように要求するフラグがあり、「新しい"バージョンは完全に記述され(fdは閉じられます)、その時点からファイルは新しいバージョンとして表示されました。 言い換えると、他のプロセスは、古いバージョンまたは新しいバージョンのいずれかを認識し、不完全に記述されたバージョンは認識しませんでした。 知識のある人が私に参照を示すことができますか?

2
古いカーネルで新しいglibcバージョンを使用できますか?
どうやらglibcをコンパイルし--enable-kernelて古いカーネルバージョンをサポートできるようです。ただし、特定のglibcバージョンでサポートされているカーネルバージョンに関する情報を見つけることができませんでした。理想的には、すべてのglibc(2.x)およびカーネル(2.6.x)リリースの互換性マトリックスを確認する必要があります。存在しますか? 存在しない場合、おそらく、すべてのglibcバージョン(過去5年程度)が2.6.0以降のすべてのカーネルをサポートしているためでしょうか? (Arch = x86-64、それが重要な場合)


1
ブロックサイズが4KBを超えるファイルシステムをマウントするにはどうすればよいですか?
WD Mybook Live NASから3TBのハードディスクを引き出しました。パーティションテーブルは次のとおりです。 Model: ATA WDC WD30EZRS-11J (scsi) Disk /dev/sdb: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 3 15.7MB 528MB 513MB primary 1 528MB 2576MB 2048MB ext3 primary raid 2 2576MB 4624MB 2048MB ext3 primary raid 4 4624MB 3001GB 2996GB …
18 linux  kernel  ext4  nas 


2
Linuxカーネルが「Retpoline」に対応しているかどうかを確認する方法は?
「Spectre」セキュリティ脆弱性については、リスクを軽減するソリューションとして「Retpoline」が導入されました。ただし、次のような記事を読みました。 を使用せずCONFIG_RETPOLINEにカーネルをビルドすると、サント記号はエクスポートされないため、retpolineを使用してモジュールをビルドしてからロードすることはできません。 ただし、retpolineを使用してカーネルをビルドすると、retpolineでビルドされていないモジュールを正常にロードできます。(ソース) カーネルが「Retpoline」が有効になっているかどうかを確認する簡単で一般的な/一般的な/統一された方法はありますか?これは、インストーラーがインストールするカーネルモジュールの適切なビルドを使用できるようにするためです。


4
Linuxカーネルを数百ミリ秒間「フリーズ」(またはほぼフリーズ)させる方法
非リアルタイムカーネル(CentOS 6)でリアルタイムプロセスを実行していますが、これはおそらく変更されません。 一度に1.5時間連続してカスタムFPGAから約500 MB / sのPCIeトラフィックを必要とするストリーミングビデオアプリケーションがあります。ほとんどの場合、アプリケーションは非常にうまく機能します。ただし、一度に最大500ミリ秒の間、PCIeまたはメモリリクエストのサービスに対するカーネルの応答が停止するように見える状況がありました。これは、別のスレッドからのバーストファイルIO中に発生するようです。メインアプリケーションの実行中に、ユーザースペースから大量のダミーファイルIOを実行するだけでは、この問題を再現することが不可能であることがわかりました。 この問題を再現できるように、Linuxカーネルのグローバルな「フリーズ」を強制(シミュレーション)する(特に、PCIeまたはすべてのDDR3メモリアクセスなどを停止する)方法はありますか? 現在、最大10ミリ秒のバッファリングを内部FPGAメモリに実装していますが、それだけでは十分ではありません。FPGA DDR3にバッファリングしてからホストにダンプできますが、この新しい機能を強要してテストする方法が必要です。 カーネルを永久にフリーズまたはロックアップさせたくありません。時間間隔を設定する機能が必要です。 私は/proc/sys/vmシステムを仮想的にクロールし、数百ミリ秒後に元に戻す魔法の値を一時的に書き込むラインに沿って何かを探していますが、それを破る可能な方法の数を見ることは私のような初心者のためではありません(https://www.kernel.org/doc/Documentation/sysctl/vm.txt)。たぶんいくつかのnumactl魔法?

1
pdflush、kjournald、swapdなどはどのように相互運用しますか?
最近、この考えを引き起こした質問を見ました。ここでも、Googleマシンでも答えが見つかりませんでした。基本的に、カーネルI / Oアーキテクチャがどのように階層化されているかを知りたいと思っています。たとえば、kjournaldディスパッチするpdflushか、その逆ですか?私の仮定は、pdflush(大容量記憶装置I / Oにより一般的である)低レベルに位置し、実際に書き込みを実行するために必要なSCSI / ATA /その他のコマンドをトリガーし、書き込みkjournald前に高レベルのファイルシステムデータ構造を処理することです。しかし、kjournaldファイルシステムのデータ構造と直接インターフェースをpdflush取り、時々目を覚まして、ダーティページキャッシュページをデバイスに書き込むことで、逆の方法でそれを見ることができましたkjournald。また、他の何らかの理由でこの2つがまったく相互作用しない可能性もあります。 基本的に、Linuxカーネル内の大容量ストレージにI / Oをディスパッチするために使用される基本的なアーキテクチャを視覚化する方法(グラフまたは単なる説明)が必要です。

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