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

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

6
カーネルはルートパーティションをどのようにマウントしますか?
私の質問は、別の/ bootパーティションからLinuxシステムをブートすることです。ほとんどの構成ファイルが別の/パーティションにある場合、カーネルはブート時にどのように正しくマウントしますか? これに関する詳細は素晴らしいでしょう。基本的なものが欠けているように感じます。主に業務のプロセスと順序に関心があります。 ありがとう! 編集:私が尋ねる必要があるのは、ルートカーネルパラメータで使用されるdevファイルの行に沿っていたと思います。たとえば、ルートパラメータをroot = / dev / sda2として指定するとします。カーネルは/ dev / sda2ファイルのマッピングをどのように持っていますか?
29 linux  kernel  boot  mount 


9
カーネルモジュール「nvidia-drm」をアンロードする方法は?
Debian Stretchに最新のNVIDIAドライバーをインストールしようとしています。ここNVIDIA-Linux-x86_64-390.48.runからダウンロードしましたが、しようとすると sudo sh ./NVIDIA-Linux-x86_64-390.48.run 提案どおり、エラーメッセージが表示されます。 ERROR: An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel. This may be because it is in use (for example, by an X server, a CUDA program, or the NVIDIA Persistence Daemon), but this may also happen if your kernel …

5
Linuxにスワップをメモリに読み込ませる
Linuxカーネルは、16 GBの物理メモリのほとんどを使用するアプリケーションを実行すると、メモリからほとんどのページをスワップアウトします。アプリケーションの終了後、すべてのアクション(コマンドの入力、ワークスペースの切り替え、新しいWebページのオープンなど)が完了するまでに非常に時間がかかります。これは、関連するページを最初にスワップから読み込む必要があるためです。 Linuxカーネルに、各アプリケーションを手動でタッチ(および待機)せずに、ページをスワップから物理メモリにコピーするように指示する方法はありますか?私は多くのアプリケーションを実行しているので、待機は常に苦痛です。 swapoff -a && swapon -aシステムの応答性をよくするためによく使用しますが、これによりページのスワップがクリアされるため、次回スクリプトを実行するときにページを再度書き込む必要があります。 おそらくsysfsを使用して、スワップからすべてのページを読み取るようカーネルに指示するカーネルインターフェイスはありますか? 編集:私は確かにすべてのスワップをswapcachedにする方法を探しています。(デロバートに感謝!) [ PSserverfault.com/questions/153946/…およびserverfault.com/questions/100448/…は関連トピックですが、Linuxカーネルがスワップをクリアせずにスワップからメモリにページをコピーする方法についての質問には対応していません。
28 linux  kernel  memory  swap  sysfs 

1
Linuxの負荷計算で単純な1/5/15分移動平均が使用されないのはなぜですか?
最近まで、負荷の平均(たとえば上に表示)は、状態が「実行可能」または「実行中」のプロセス数の最後のn個の値の移動平均であると考えていました。nは移動平均の「長さ」で定義されます。負荷平均を計算するアルゴリズムは5秒ごとにトリガーされるように見えるため、nは1分間の負荷平均では12、5分間の負荷平均では12x5、12x15でした15分間の平均負荷。 :しかし、私はこの記事読んhttp://www.linuxjournal.com/article/9001を。この記事は非常に古いものですが、今日では同じアルゴリズムがLinuxカーネルに実装されています。負荷平均は移動平均ではなく、名前がわからないアルゴリズムです。とにかく、Linuxカーネルアルゴリズムと、想像上の周期的な負荷の移動平均を比較しました。 。 大きな違いがあります。 最後に、私の質問は次のとおりです。 なぜこの実装が真の移動平均と比較して選択されたのか、それは誰にとっても本当の意味を持っていますか? アルゴリズムが最後の1分よりもはるかに多くを考慮しているため、誰もが「1分間の負荷平均」について話す理由。(数学的には、ブート以降のすべての測定値;実際には、丸め誤差を考慮に入れて-それでも多くの測定値)

3
USBポートへの電源をオフにします。または、USBサブシステム全体の電源をオフにします
特定の時間にプログラムでオフにするために特別に購入したusbランプがあります。そのため、USBポートの電源を切る必要があります。 usb6にusb-hubがあると思います。ランプは、このハブのいずれかのポートに接続されています。 #myhost$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 …

2
MemTest86 +エラー表示に従って正しい不良RAMセクターをブラックリストに登録する方法は?
MemTest86 +(Ubuntu 13.04に含まれているバージョン)によると Failing address: 002f796c48 - 759.5 MB memmapこの領域をバイパスするには、カーネルパラメーターで何を指定する必要がありますか? 実行memtester 770MBしてみましたが、すべてが正常であると表示されるため、MemTestの表示が最初から759.5 MBのエラーを意味するようには見えません。 このMemTest指示を解釈して構成するにはmemmap? 現在、新しいRAMを購入するお金がなく、エラーは1つだけのようです。
28 linux  kernel  memory  ram 


3
実行中のカーネルがサポートできるファイルシステムをリストできますか?
カーネルがサポートできるファイルシステムを検出しようとしています。理想的には彼らの名前の小さなリストにありますが、あなたが持っているものは何でも取ります。 使用中の現在のファイルシステムではなく、現在のカーネルが理論的に直接サポートできるものだけではないことに注意してください(明らかに、fuse は無限の数をサポートできます)。

2
これはLinuxのページングの動作方法ですか?
Linuxシステムがページングに近づくと(つまり、私の場合、16GBのRAMがほぼいっぱいになり、16GBのスワップが完全に空になります)、新しいプロセスXがシステムが完全にロックするメモリを割り当てようとします。つまり、不均衡な量のページ(Xのメモリ割り当て要求の合計サイズと速度)がスワップアウトされるまでです。guiが完全に応答しなくなるだけでなく、sshdなどの基本的なサービスも完全にブロックされることに注意してください。 これらは2つのコード(明らかに粗雑な)であり、この動作をより「科学的な」方法でトリガーするために使用します。最初のコマンドは、コマンドラインから2つの数値x、yを取得し、合計x以上のバイトが割り当てられるまで、yバイトの複数のチャンクを割り当てて初期化します。そして、ただ無期限に眠ります。これは、システムをページングの寸前にするために使用されます。 #include <stdlib.h> #include <stdio.h> #include <string.h> #include <unistd.h> int main(int argc, char** argv) { long int max = -1; int mb = 0; long int size = 0; long int total = 0; char* buffer; if(argc > 1) { max = atol(argv[1]); size = atol(argv[2]); } printf("Max: %lu …

5
2つのLinux OS間でUSBからUSBへのデータ転送は可能ですか?
Linux(できればUbuntu)でUSB-to-USBデータ転送システムを作成したい。このため、外部ハードウェアやスイッチは使用しません(このケーブルを除く)。USBドライブをシステムにマウントするようなものになりますが、このシナリオでは、Linuxシステムの1つが他のシステムにマウントされます。どうすれば作成できますか? カーネルプログラミングの経験が非常に基本的であるため、利用可能なカーネルモジュールはありますか?

1
USB-HIDデバイスにLinuxカーネルドライバーのバインド/アンバインドインターフェイスを使用する方法
最初の背景。Logitechゲームパネルデバイス用のドライバーを開発しています。画面のあるキーボードです。ドライバーは正常に動作していますが、デフォルトではデバイスはHIDによって処理されます。HIDがドライバーの前にデバイスを引き継ぐのを防ぐために、hid-core.cでブラックリストに追加できます。これは機能しますが、複数の人と作業しているため、特にinitramfsなどを再構築する必要があるため、面倒になっているHIDモジュールにパッチを適用し続ける必要があるため、最適なソリューションではありません。 私は、この問題のいくつかの研究を行なったし、私が見つかりました。このメーリングリストポスト最終的に連れて行ってくれました、LWNこの記事を。これは、実行時にデバイスを特定のドライバーにバインドするメカニズムについて説明しています。これはまさに私が必要なもののようです。 それで、試しました。HIDからキーボードのバインドを解除できました。これは機能し、予想どおり、入力できなくなりました。しかし、ドライバーにバインドしようとすると、「error:no such device」というメッセージが表示され、操作は失敗します。 私の質問は次のとおりです。hid-coreでHIDデバイスをブラックリストに登録し、独自のドライバーを提供すると、カーネルバインド/アンバインド操作を使用して何が起こるかを複製するにはどうすればよいですか。-それは-常にhid-core.cにパッチを当てる必要性を置き換えるためですか? ドライバーのソースはこちら:https : //github.com/ali1234/lg4l

1
Linuxでのパイプの仕組み
Linuxカーネルにパイプがどのように実装されているかを読んでいて、私の理解を検証したかったのです。私が間違っている場合は、正しい説明の答えが選択されます。 Linuxには(ユーザー空間ではなく)カーネルにマウントされるpipefsと呼ばれるVFSがあります pipefsには単一のスーパーブロックがあり、独自のルート(pipe:)にマウントされます。/ ほとんどのファイルシステムとは異なり、pipefsは直接表示できません pipefsへのエントリはpipe(2)syscall 経由です pipe(2)配管用のシェルが使用するシステムコール|オペレータ(または手動で任意の他のプロセスからは)ほとんど通常のファイルと同じように動作しpipefsに新しいファイルを作成します パイプオペレーターの左側のstdoutファイルは、pipefsで作成された一時ファイルにリダイレクトされます。 パイプ演算子の右側のファイルには、stdinpipefs上のファイルが設定されています。 pipefsはメモリに格納されており、いくつかのカーネルマジックによってページングされるべきではありません パイプ(例ls -la | less)がどのように機能するかについてのこの説明はほとんど正しいですか? 私が理解していないことの1つは、bashのようなものがどのようにプロセスを設定するstdinかstdout、またはによって返されるファイル記述子に設定することpipe(2)です。私はまだそれについて何も見つけることができませんでした。
25 kernel  pipe 

5
Linuxカーネルパニックの原因の特定
Ubuntu 12.04派生(amd64)を実行していますが、最近非常に奇妙な問題を抱えています。一見、一見Xが完全にフリーズし(1〜3分?)、システムが再起動します。このシステムはオーバークロックされていますが、Windowsで確認されているように非常に安定しているため、カーネルパニックまたはモジュールの1つに問題があると思われます。Linuxでも、LINPACKを実行でき、CPUにばかげた負荷がかかってもクラッシュすることはありません。クラッシュは、マシンがアイドル状態であっても、ランダムに発生するようです。 システムのクラッシュをデバッグするにはどうすればよいですか? それがプロプライエタリのNVIDIAドライバーであるかもしれないと思うと、私はドライバーの安定したバージョンであるバージョン304にまで戻りましたが、それでもクラッシュを経験します。 クラッシュ後の良いデバッグ手順を誰かが教えてもらえますか?サムドライブから起動して、クラッシュ後のすべての構成ファイルを投稿できればうれしいです。どうなるかわかりません。システムがクラッシュする原因を調べるにはどうすればよいですか? ここに、ログの束、通常の犯人があります。 .xsession-errors:http : //pastebin.com/EEDtVkVm /var/log/Xorg.0.log:http://pastebin.com/ftsG5VAn /var/log/kern.log:http://pastebin.com/Hsy7jcHZ / var / log / syslog:http : //pastebin.com/9Fkp3FMz クラッシュの記録さえまったく見つけられないようです。 クラッシュのトリガーはそれほど単純ではなく、GPUが一度に複数のものを描画しようとしているときに発生するようです。YouTubeビデオを全画面表示にしてしばらく繰り返し表示したり、大量のGIFをスクロールしてSkype通知がポップアップしたりすると、クラッシュすることがあります。これで頭をひっかきました。 CPUは4.8GHzにオーバークロックされますが、完全に安定しており、昨日1回クラッシュすることなく、巨大なLINPACKの実行と9時間のPrime95に耐えました。 更新 私がインストールされてきたkdump、crashとlinux-crashdumpだけでなく、私のカーネルバージョン3.2.0-35のカーネルデバッグシンボル。apport-unpackクラッシュしたカーネルファイルを実行してcrashからVmCoreクラッシュダンプを実行すると、次のように表示されます。 KERNEL: /usr/lib/debug/boot/vmlinux-3.2.0-35-generic DUMPFILE: Downloads/crash/VmCore CPUS: 8 DATE: Thu Jan 10 16:05:55 2013 UPTIME: 00:26:04 LOAD AVERAGE: 2.20, 0.84, 0.49 TASKS: 614 NODENAME: mightymoose RELEASE: 3.2.0-35-generic VERSION: …

1
カーネルソースツリーには何が含まれていますか?これはLinuxカーネルヘッダーに関連していますか?
ブックでは、私は一般的にLinuxのソースツリーへの参照を読んで/usr/src/linux、サブディレクトリの通常のセットで(arch、block、crypto、...)。 このツリーには、カーネルを構成するバイナリファイルが含まれていると予想していました。私のシステム(Ubuntu 10.04)では... 私が持っているさまざまなカーネル(手動でインストールされたのではなく、自動化されたソフトウェアダウンロードを使用)では、代わりにこの場所に次のように各カーネルの2つのサブディレクトリがあります。 /usr/src/linux-headers-2.6.32-22 /usr/src/linux-headers-2.6.32-22-generic サブディレクトリでは、とりわけバイナリファイルを期待していました。しかし、かなりの量のツリーをチェックしましたが、ここから最後のサブディレクトリには常にMakefile(それを読むと、通常は構成ファイルよりもインストールファイルのように聞こえます)に加えて、時々いくつかの孤立した他のファイルがあります(主にKconfig)。 私の質問は素朴かもしれませんが、少し混乱しています。(2)カーネルソースツリーに表示されるもの。そして、なぜ「ヘッダー」への明示的な参照があるのですか?linux-generic-headers他のソフトウェアのためにしばらく前にインストールする必要がありましたが、これが関連しているかどうかはわかりません。makefileには(たとえば、/ driverサブディレクトリにモジュールをインストールする)理由がありますが、(ほとんど)makefileだけですか?
25 ubuntu  kernel  source 

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