/dev/randomでエントロピープールレベルを確認するための単純なbashスクリプトを作成しました。私がこのようにしている方法は確認するたびに(cat /proc/sys/kernel/random/entropy_avail)少しずつ下げていましたが、2秒に1回ずつレベルを確認していたので、完全な回復と増加のための十分な時間です。 1時間40分を測定した。同時に、私はエントロピーを減らすと思われるタスク(SSHキーの生成など)を実行しませんでした。しかし、(IRCでは)インターネットに接続されているという単純な事実だけでもエントロピーが低くなる可能性があるということを聞いて、ネットワークから完全に切断されたノートブックで実験を繰り返したが、同じ結果が現れた。
プールのエントロピーを減らすプログラムが何であるかわかりません。切断されたノートブックには非常に小さな規模のアーチLinuxをインストールしました(合計646パッケージのインストール)、測定期間中にメインノートパソコンはインターネットに接続されており、約800パッケージがインストールされた状態でGentooを実行していました。パッケージは特定の実行されません。バックグラウンドを除いて「基本的に」プログラム。両方のコンピュータにDE(xfce)がインストールされています。これはデータグラフです。
編集する:インターネットのないノートパソコンのデータは次のとおりです。
編集2:ASLRを無効にしても(grubから起動したときにnorandmapsカーネルパラメータを追加する)、まだ同じ動作が発生するため、ASLRは犯人ではありません。別のグラフは、ASLRが無効になっているデータを示しています。
編集3:私の質問が重複しているようです。この問題。私は許可された答えに与えられたコマンドに従いsudo perf record -e random:\* -g -a -D 1000 -T sleep 60
ましたperf script
。出力ファイルは大容量(4.4MBのテキストデータ)です。最初の数行は次のとおりです。
スイッチ 0 [000] 3491.433002: ランダム: mix_pool_bytes_nolock: ffffffff8173e956 プール: バイト 16 呼び出し元 add_interrupt_randomness 5ea5d9 __mix_pool_bytes(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5ec601 add_interrupt_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d5729handle_irq_event_percpu(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9handle_irq_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8e2f handler_fasteoi_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6ahandle_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434rest_init(/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel([kernel.vmlinux].init.text)交換機0 [000] 3491.433025:ランダム:Credit_entropy_bits:ffffffff8173e956プール:ビット1 5eaab6 Credit_entropy_bits(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5ec644 add_interrupt_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d5729handle_irq_event_percpu(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9handle_irq_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8e2f handler_fasteoi_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6ahandle_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434rest_init(/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel([kernel.vmlinux].init.text)
exchange0[000] 3491.876901: ランダム: mix_pool_bytes: ffffffff8173e956 プール: バイト 16 呼び出し元 add_timer_randomness 5ea6a3 mix_pool_bytes (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eac36 add_timer_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eb477 add_input_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event([非表示]) 2506 27bb hid_input_report([非表示]) 1c5c hid_irq_in([usbhid]) 9c05 __usb_hcd_giveback_urb([usbコア]) 9ddf usb_hcd_giveback_urb ([USBコア]) 126efxhci_irq([xhci_hcd]) 13041 xhci_msi_irq([xhci_hcd]) 2d56d1handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9handle_irq_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handler_edge_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6ahandle_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434rest_init(/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel([kernel.vmlinux].init.text)
交換機0 [000] 3491.876931:ランダム:Credit_entropy_bits:ffffffff8173e956プール:ビット9 5eaab6 Credit_entropy_bits(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eacbd add_timer_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eb477 add_input_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event([非表示]) 2506 27bb hid_input_report([非表示]) 1c5c hid_irq_in([usbhid]) 9c05 __usb_hcd_giveback_urb([usbコア]) 9ddf usb_hcd_giveback_urb ([USBコア]) 126efxhci_irq([xhci_hcd]) 13041 xhci_msi_irq([xhci_hcd]) 2d56d1handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9handle_irq_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handler_edge_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6ahandle_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434rest_init(/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel([kernel.vmlinux].init.text)
スイッチ 0 [000] 3491.876945: ランダム: add_input_randomness: input_pool_bits 876 5eb4c7 add_input_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event([非表示]) 2506 27bb hid_input_report([非表示]) 1c5c hid_irq_in([usbhid]) 9c05 __usb_hcd_giveback_urb([usbコア]) 9ddf usb_hcd_giveback_urb ([USBコア]) 126efxhci_irq([xhci_hcd]) 13041 xhci_msi_irq([xhci_hcd]) 2d56d1handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9handle_irq_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handler_edge_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6ahandle_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434rest_init(/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel([kernel.vmlinux].init.text)
交換機0 [000] 3491.884903: ランダム: mix_pool_bytes: ffffffff8173e956 プール: バイト 16 呼び出し元 5ea6a3 mix_pool_bytes (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eac36 add_timer_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eb477 add_input_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event([非表示]) 2506 27bb hid_input_report([非表示]) 1c5c hid_irq_in([usbhid]) 9c05 __usb_hcd_giveback_urb([usbコア]) 9ddf usb_hcd_giveback_urb ([USBコア]) 126efxhci_irq([xhci_hcd]) 13041 xhci_msi_irq([xhci_hcd]) 2d56d1handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9handle_irq_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handler_edge_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6ahandle_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434rest_init(/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel([kernel.vmlinux].init.text)
交換機0 [000] 3491.884933:ランダム:Credit_entropy_bits:ffffffff8173e956プール:ビット1 5eaab6 Credit_entropy_bits(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eacbd add_timer_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eb477 add_input_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event([非表示]) 2506 27bb hid_input_report([非表示]) 1c5c hid_irq_in([usbhid]) 9c05 __usb_hcd_giveback_urb([usbコア]) 9ddf usb_hcd_giveback_urb ([USBコア]) 126efxhci_irq([xhci_hcd]) 13041 xhci_msi_irq([xhci_hcd]) 2d56d1handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9handle_irq_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handler_edge_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6ahandle_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434rest_init(/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel([kernel.vmlinux].init.text)
(...)
スイッチ 0[000] 3491.916850:random:add_input_randomness:input_pool_bits 876 5eb4c7 add_input_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event([非表示]) 2506 27bb hid_input_report([非表示]) 1c5c hid_irq_in([usbhid]) 9c05 __usb_hcd_giveback_urb([usbコア]) 9ddf usb_hcd_giveback_urb ([USBコア]) 126efxhci_irq([xhci_hcd]) 13041 xhci_msi_irq([xhci_hcd]) 2d56d1handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9handle_irq_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handler_edge_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6ahandle_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434rest_init(/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel([kernel.vmlinux].init.text)
交換機0 [000] 3491.924973: ランダム: mix_pool_bytes: ffffffff8173e956 プール: バイト 16 呼び出し元 5ea6a3 mix_pool_bytes (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eac36 add_timer_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eb477 add_input_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event([非表示]) 2506 27bb hid_input_report([非表示]) 1c5c hid_irq_in([usbhid]) 9c05 __usb_hcd_giveback_urb([usbコア]) 9ddf usb_hcd_giveback_urb ([USBコア]) 126efxhci_irq([xhci_hcd]) 13041 xhci_msi_irq([xhci_hcd]) 2d56d1handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9handle_irq_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handler_edge_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6ahandle_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434rest_init(/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel([kernel.vmlinux].init.text)
スイッチ 0[000] 3491.925003:random:add_input_randomness:input_pool_bits 876 5eb4c7 add_input_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event([非表示]) 2506 27bb hid_input_report([非表示]) 1c5c hid_irq_in([usbhid]) 9c05 __usb_hcd_giveback_urb([usbコア]) 9ddf usb_hcd_giveback_urb ([USBコア]) 126efxhci_irq([xhci_hcd]) 13041 xhci_msi_irq([xhci_hcd]) 2d56d1handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9handle_irq_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handler_edge_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6ahandle_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434rest_init(/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel([kernel.vmlinux].init.text)
firefox 827[000] 3491.932654: ランダム: mix_pool_bytes: ffffffff8173e956 プール: バイト 16 呼び出し元 add_timer_randomness 5ea6a3 mix_pool_bytes (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eac36 add_timer_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eb477 add_input_randomness(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event([非表示]) 2506 27bb hid_input_report([非表示]) 1c5c hid_irq_in([usbhid]) 9c05 __usb_hcd_giveback_urb([usbコア]) 9ddf usb_hcd_giveback_urb ([USBコア]) 126efxhci_irq([xhci_hcd]) 13041 xhci_msi_irq([xhci_hcd]) 2d56d1handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9handle_irq_event(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handler_edge_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6ahandle_irq(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr(/lib/modules/4.6.2-1-ARCH/build/vmlinux) 1f6fd81 [不明] (/usr/lib/firefox/libxul.so) 100000001 [不明] ([不明])
私の問題は、出力をよく理解できないことです。どのプログラムがエントロピーを消費しているかわかりません。誰でもこの出力を説明できますか? (追記:バックグラウンドで実行されているFirefoxで最後のコマンドを実行したため、エントロピーが少し消費されている可能性があり、他のプロセスに興味があります。)
答え1
push_to_pool
関数のコメントは次/drivers/char/random.c
のとおりです。
/*
* Used as a workqueue function so that when the input pool is getting
* full, we can "spill over" some entropy to the output pools. That
* way the output pools can store some of the excess entropy instead
* of letting it go to waste.
*/
私が正しく理解したら、エントロピープールがいっぱいになると、カーネル自体がエントロピープールから古いエントロピーを消去します。
答え2
誰かが説明するのに役立つ考えがあります。
これをテストまたは確認する方法はよくわかりませんが(グラフをどのように生成するのかわかりません)、いくつかのグラフを見ると「ビット周波数」の現象がある可能性があります。その場合、ビット周波数は通常測定される周波数と測定される周波数がわずかに異なる症状です。必要に応じて「エイリアス」と呼んでください。
さて、これはエントロピーレベルに定期的に測定された変化があるかもしれません。さらに悪いことに、これはあなたのクエリに答えないことがわかりました。変更の原因は何ですか?実際にクエリを複雑にします。
エントロピーレベルを測定するルーチンを開始するために使用されるクロックティック/サイクルと比較して、エントロピー生成をトリガするために使用されるクロックティックまたは特定の倍数は、測定時にビット周波数として現れるエイリアシングの原因である可能性があります。
私が言ったように、これは単なるアイデアです。