最新記事

より良いパフォーマンスを得るには、どのような合理的な交換値を設定する必要がありますか?
linux-kernel
swap
android

より良いパフォーマンスを得るには、どのような合理的な交換値を設定する必要がありますか?

Androidシステムの最適化プロセスでは、Swapiness値の設定が重要です。値のパスはです/proc/sys/vm/swappiness。一部のソースでは60に設定し、他のソースでは120に設定することをお勧めします。一部の情報源では最大値が100であると主張し、他の情報源では200と主張して混乱しています。 システムがサポートする最大値をどのように確認しますか? Stack Overflowにあるリンク: デフォルトではスワップスペースはありませんが、なぜAWS EC2のスワップスペースは60ですか? LinuxがプロセスメモリをRAMからスワップファイルにスワップする特定の条件は何ですか? VM.swappinessの割合はいくらですか?

Admin

Bashシェルでカーネルを構築するときに使用するGCCのバージョンを確実に決定する方法
bash
ubuntu
linux-kernel
gcc
version

Bashシェルでカーネルを構築するときに使用するGCCのバージョンを確実に決定する方法

現在実行中のカーネルをコンパイルするために使用されるGCCのバージョンを確認するためにbashシェルで信頼できる方法は何ですか?major.minor.patch出力の最初の行の最後のトークンと比較できる形式で必要ですgcc --version。 私は/proc/version構文解析に以下を使用しました。 awk '{print $8}' /proc/version | tr -d ',' しかし、私が探しているバージョン文字列は常に表示されません/proc/version。より強力なアプローチはありますか?より困難な場合は、デプロイメントを独立して作成せずにUbuntuでのみ機能する強力なソリューションで十分です。

Admin

パッケージ linux-headers-6.1.0-12-amd64 はまだ設定されていません。
linux-kernel
wireguard
linux-headers

パッケージ linux-headers-6.1.0-12-amd64 はまだ設定されていません。

私はdebian 12 - 6.2.16-10-pveでproxmoxホスト8.0.4を実行しています。私のLXCの1つはdebian 12 6.2.16-10-pveを実行しており、適切な使用はできません。私が受け取ったパッケージをインストールしようとすると、このエラーが発生します dkms: running auto installation service for kernel 6.1.0-12-amd64. Sign command: /usr/lib/linux-kbuild-6.1/scripts/sign-file Signing key: /var/lib/dkms/mok.key Public certificate (MOK): /var/lib/dkms/mok.pub Error! The /var/lib/dkms/wireguard/1.0.20210219/6.1.0-12-amd64/x86_64/dkms.conf for module wireguard includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch/config. This indicates that it should not be built. Error! One or more modules failed to install during autoinstall. Refer to previous errors for more information. dkms: autoinstall for kernel: 6.1.0-12-amd64 failed! run-parts: /etc/kernel/header_postinst.d/dkms exited with return code 11 Failed to process /etc/kernel/header_postinst.d at /var/lib/dpkg/info/linux-headers-6.1.0-12-amd64.postinst line 11. dpkg: error processing package linux-headers-6.1.0-12-amd64 (--configure): installed linux-headers-6.1.0-12-amd64 package post-installation script subprocess returned error exit status 1 Setting up ccze (0.2.1-7) ... dpkg: dependency problems prevent configuration of linux-headers-amd64: linux-headers-amd64 depends on linux-headers-6.1.0-12-amd64 (= 6.1.52-1); however: Package linux-headers-6.1.0-12-amd64 is not configured yet. どんな助けでも大変感謝します。

Admin

「開いたファイルが多すぎる」という混乱の中で
files
linux-kernel
ulimit
kernel-parameters

「開いたファイルが多すぎる」という混乱の中で

「ファイル制限」が混乱していて何をすべきかわかりません。 システムを再起動すると、しばらく役に立つと確信しています。しかし、誰かができますこの問題を診断するのに役立つツールを見つけるために正しい方向を教えてください。ここで問題の原因を見つけますか? 再起動せずに数週間システムを使用した後、いくつかの問題が発生し始めました。 システムが著しく遅くなり、 一部のプログラムは、明らかな理由なしに、またはログと競合します。たとえば、Weztermを実行している場合、Google Chromeは起動しません。 または Google Chrome が実行中です。これでWeztermを起動できません。 このようなことが数ヶ月間続いていますが、その原因が何なのか理解できません。 今回は、標準出力にエラーがないかどうかを確認するために、他の端末エミュレータでWeztermを実行してみることにしました。それをしました。明らかに開かれたファイル記述子の制限に達しました。 現在の制限を確認して再確認し、インターネットのランダムな提案に基づいて制限を増やしました。不運。 Weztermを起動するには、ファイル記述数が十分でない理由を理解できません。 状況をさらに混乱させるために、プロセスごとに現在開いているファイルの数を見てみました。 lsof | awk '{ print $1 " " $2; }' | sort -rn | uniq -c | sort -rn | head -15 [...] lsof: no pwd entry for UID 65535 lsof: no pwd entry for UID 65535 72450 plasmashe 610475 39294 krunner 623883 27808 telegram- 2383506 22572 chrome 2167881 21600 chrome 2167924 21344 slack 616893 20987 plasma-di 2394216 17050 kwin_x11 610405 12606 zeal 610569 8732 slack 616960 8692 1password 2364911 7766 konsole 2403669 7480 spectacle 1976672 7452 xdg-deskt 610370 4456 kded5 610402 最初の列は、プロセスのファイル記述子の数でなければなりません。プロセスがファイルを開く必要があるのはなぜですか?さらに:これは50kファイル記述子の制限と一致しない可能性があります。今はとても混乱しています。 面倒なこと: システム制御: sysctl --all | grep file-max sysctl: permission denied on key 'fs.protected_fifos' sysctl: permission denied on key 'fs.protected_hardlinks' sysctl: permission denied on key 'fs.protected_regular' sysctl: permission denied on key 'fs.protected_symlinks' fs.file-max = 9223372036854775807 sysctl: permission denied on key 'kernel.apparmor_display_secid_mode' sysctl: permission denied on key 'kernel.cad_pid' sysctl: permission denied on key 'kernel.unprivileged_userns_apparmor_policy' sysctl: permission denied on key 'kernel.usermodehelper.bset' sysctl: permission denied on key 'kernel.usermodehelper.inheritable' sysctl: permission denied on key 'net.core.bpf_jit_harden' sysctl: permission denied on key 'net.core.bpf_jit_kallsyms' sysctl: permission denied on key 'net.core.bpf_jit_limit' sysctl: permission denied on key 'net.ipv4.tcp_fastopen_key' sysctl: permission denied on key 'net.ipv6.conf.all.stable_secret' sysctl: permission denied on key 'net.ipv6.conf.br-77aecafe7c63.stable_secret' sysctl: permission denied on key 'net.ipv6.conf.br-faf1bfa0fcca.stable_secret' sysctl: permission denied on key 'net.ipv6.conf.default.stable_secret' sysctl: permission denied on key 'net.ipv6.conf.docker0.stable_secret' sysctl: permission denied on key 'net.ipv6.conf.enp2s0f1.stable_secret' sysctl: permission denied on key 'net.ipv6.conf.lo.stable_secret' sysctl: permission denied on key 'net.ipv6.conf.wlp3s0.stable_secret' sysctl: permission denied on key 'vm.mmap_rnd_bits' sysctl: permission denied on key 'vm.mmap_rnd_compat_bits' sysctl: 'vm.stat_refresh' キーに対する権限が拒否されました。 カーネルバージョン: uname -a Linux eugene-pc 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux オペレーティングシステムのバージョン: lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.1 LTS Release: 22.04 Codename: jammy

Admin

プロセスに属するメモリページを交換すると、一時停止するか、プロセス自体が停止しますか?
linux-kernel
swap
virtual-memory

プロセスに属するメモリページを交換すると、一時停止するか、プロセス自体が停止しますか?

私はあらゆる種類の「ブロック」に非常に敏感で応答性が非常に高く、ほとんどの場合、完全なレイテンシを維持する必要があるリアルタイムネットワークアプリケーションを持っています。 残念ながら、アプリケーション自体(マルチスレッド)はメモリを大量に消費するため、約6 GBのRAMが必要です。 システムには8GBのRAMと2GBのスワップスペースがあります。いくつかのパフォーマンスの問題、スワップイベントに関連するアプリケーションの待ち時間の増加(15秒ごとにgrafanaとnode_exporterを使用してOSを監視する)が観察され、同時に深刻な待ち時間が発生してOSが一部のページをスワップしていました(まだ2GBの空き容量あり)。スペース)メモリ)。 私はLinuxカーネルVMサブシステムを非常によく知っているので(Mel Gormanの著書「Linux®仮想メモリマネージャについて」を読んでいます)、これをアクティブページを積極的に置き換えるOSと組み合わせて、より多くのFSキャッシュ/バッファリングを実現しました。アプリケーションの待ち時間に大きな影響を与えない場合は気にしないでください。 カーネルがメモリ不足の透かしに達したとき、最後の手段としてのみスワップを有効にしましたが、役に立ちませんvm.swappiness = 0でした。ほぼ同じサイズの小さなメモリチャンクを交換し続けます。 30分ごとに1回、アプリケーションの待ち時間に深刻な影響を与えます。 有用な唯一の方法は、スワップを完全に無効にすることでした。そうした後、遅延の問題は再び発生しませんでした。ただし、アプリケーションが一時的に合計使用量8 GBにアクセスするためのより多くのメモリを必要とする不幸な状況が発生した場合、OOM Killerは現在一部の非アクティブページを置き換えるのではなくメモリをシャットダウンするので問題になります。麻痺。 だから、2つの質問があります。 これらの小規模な交換イベントがアプリケーションの待ち時間に大きな影響を与えるのはなぜですか?私が理解したように、スイッチはとにかく非アクティブメモリページを削除します。スイッチがメモリを移動するときにRAMに存在しないか、移動中のページにアクセスしようとしなくてもプロセスは停止しますか? 必要な場合にのみカーネルを強制的に置き換える方法はありますか?例えば。 - RAM> 1GBがまだ利用可能な場合は交換しませんか?

Admin

最後の解決策
centos
kernel
linux-kernel
kernel-panic
rust

最後の解決策

私は32ビットCentOS 7システムを使用しています。 次のコマンドを実行しましたが、カーネルパニックが発生しました。 cd repos/ git clone https://github.com/SergioBenitez/Rocket cd Rocket/ cd examples/hello_world/ cargo run -v カーネルエラーはkernel/auditsc.c:1532にあります! 無効な opcode: 0000 [#1] SMP どうすればいいですか?どこに報告しますか?どう反応するのかわかりません。

Admin

NFSはメモリを割り当てることができません。
debian
linux-kernel
nfs

NFSはメモリを割り当てることができません。

ある夜 NFS サービスを再起動しようとしましたが、次のエラー メッセージが表示されました。 kernel: [81818.428785] nfsd: unable to allocate nfsd_file_hashtbl rpc.nfsd[15567]: error starting threads: errno 12 (Cannot allocate memory) systemd[1]: nfs-server.service: Main process exited, code=exited, status=1/FAILURE システムのバフ/キャッシュにまだ12 GB以上のRAMが残っていることを考慮すると、これは奇妙なエラーです。私が理解したのは、バフ/キャッシュメモリはカーネルが情報をキャッシュするために使用するメモリですが、アプリケーションにRAMが必要な場合にも使用できます。 その後、次のコマンドを実行しました。 sync && echo 3 > /proc/sys/vm/drop_caches メモリはバッファリング/キャッシュから解放状態になり、NFSは問題なく起動します。 私が読んだすべての内容は、これが基本的に最悪の行動の1つであることを示唆しています。 私の質問は、これがNFSのバグですか、それとも別のものですか?これは非常に人気のあるテーマのようで、これが大丈夫か議論しているわけではありません。私が報告できるのは、NFSを実行したときに問題なく開始されたということです。その理由を知りたいです。 私はproxmox 6.3-6、NFSバージョン1:1.3.4-2.5 + deb10u1がインストールされているDebian 10を実行しています。 編集する: また、proxmox関連の問題も検出されました(たとえば、VNCコンソールが機能していないか、他のノードに接続されていません)。両方のノードで上記のコマンドを実行すると、これらの問題はすべて解決されました。

Admin

/proc/interruptsの数値ではないIRQは何ですか?
linux-kernel
proc
interrupt
irq

/proc/interruptsの数値ではないIRQは何ですか?

cat /proc/interruptsNMIとなどのIRQを表示しますLOC。出力の各行の説明は明確な説明を提供しますが、数値IRQ番号がない場合、x86 CPUは割り込み記述子テーブルのエントリに基づいてどのように応答しますか?

Admin

カーネルが削除されたときに最新のカーネルがインストールされるのを防ぐ方法は?
ubuntu
linux-kernel
apt

カーネルが削除されたときに最新のカーネルがインストールされるのを防ぐ方法は?

Ubuntuでは、新しいカーネル()に問題があり、古いカーネル4.18.0-20()で再4.18.0-15起動しました。 これで混乱を避けるために新しいカーネルを削除したいのですが、apt最新のカーネルをインストールするには: apt -s remove linux-image-4.18.0-20-generic NOTE: This is only a simulation! apt needs root privileges for real execution. Keep also in mind that locking is deactivated, so don't depend on the relevance to the real current situation! Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: linux-generic-hwe-18.04 linux-headers-4.18.0-21 linux-headers-4.18.0-21-generic linux-headers-generic-hwe-18.04 linux-image-4.18.0-21-generic linux-image-generic-hwe-18.04 linux-modules-4.18.0-21-generic linux-modules-extra-4.18.0-21-generic The following packages will be REMOVED: linux-image-4.18.0-20-generic linux-modules-extra-4.18.0-20-generic The following NEW packages will be installed: linux-headers-4.18.0-21 linux-headers-4.18.0-21-generic linux-image-4.18.0-21-generic linux-modules-4.18.0-21-generic linux-modules-extra-4.18.0-21-generic The following packages will be upgraded: linux-generic-hwe-18.04 linux-headers-generic-hwe-18.04 linux-image-generic-hwe-18.04 カーネルが削除されたので、aptカーネルをインストールしたいと思います。4.18.0-214.18.0-20 これが私が望むものではないことをどのように説明するのですか?

Admin

dpkgエラーでUbuntuでLinuxカーネルを更新する方法
linux
ubuntu
linux-kernel

dpkgエラーでUbuntuでLinuxカーネルを更新する方法

Ubuntu 22.04でLinuxカーネルを6.1.38にアップデートしてみました。 Ubuntu Kernel Webサイトからカーネルファイルをダウンロードしてインストールすると、依存関係の問題が発生します。 dpkg -i linux-headers-6.1.38-060138-generic-64k_6.1.38-060138.202307070815_arm64.deb 出力は次のとおりです (Reading database ... 102570 files and directories currently installed.) Preparing to unpack linux-headers-6.1.38-060138-generic-64k_6.1.38-060138.202307070815_arm64.deb ... Unpacking linux-headers-6.1.38-060138-generic-64k (6.1.38-060138.202307070815) over (6.1.38-060138.202307070815) ... dpkg: dependency problems prevent configuration of linux-headers-6.1.38-060138-generic-64k: linux-headers-6.1.38-060138-generic-64k depends on linux-headers-6.1.38-060138; however: Package linux-headers-6.1.38-060138 is not installed. dpkg: error processing package linux-headers-6.1.38-060138-generic-64k (--install): dependency problems - leaving unconfigured Errors were encountered while processing: linux-headers-6.1.38-060138-generic-64k 私は成功せずに以下のコマンドを試してみました。 apt-get update apt-get upgrade apt-get install linux-headers-6.1.38-060138 以下の解決策も機能しません。 apt-get install linux-headers-6.1.38-060138 apt -f install

Admin

IP 0.0.0.0およびGW 0.0.0.0に不要なルートを追加しないようにconnmandを設定する方法
networking
linux-kernel
embedded
connman

IP 0.0.0.0およびGW 0.0.0.0に不要なルートを追加しないようにconnmandを設定する方法

以下のパスは固定されており、手動で削除してもconnmand(接続マネージャデーモン)によって別のインターフェイス名として追加されます。 ip link cmdを使用して特定のインターフェイスをシャットダウンしても同じ問題が発生します。 root@soc:~$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 eth0 connmandそうしないように設定する方法はありますか? 追加情報:eth0は静的IPアドレスを使用します。私のシステム(SoC)には4つのインターフェイスがあり、3つは固定IPアドレスを使用し、1つはDHCPを使用します。以下のeth0の固定IPを定義するsystemd / networkファイルを追加しました。 root@soc:/etc/systemd/network$ cat 10-eth0-soc.network [Match] Name=eth0 [Network] Address=10.10.11.2/24 root@soc:/etc/systemd/network$

Admin