FreeBSD 13.1 hängt bei großen Schreibvorgängen

jmt

Well-Known Member
Nachdem ich meinen Fileserver von 13.0 auf 13.1 geupdated habe, blockieren größere Schreibvorgänge das komplette System. Wenn ich größere Mengen (mehrere GB) an Daten verschiebe ist das System nahezu unbedienbar. Dies gilt um so mehr, je größer die zu kopierenden Dateien sind. Das war mit 13.0 noch nicht so. Eine Beschränkung des ARC hilft hier auch nur wenig. Bei 13.0 musste ich den ARC nicht beschränken. Habt Ihr auch so etwas festgestellt? Und wie werde ich das Problem wieder los?
 
Ich hab das auch festgestellt, das das System stottert wenn größere Aktionen passieren. Bei mir was es der Abbruch des Build bei poudriere bei einem Fehler beim bauen von llvm. Meine "Lösung" war den Bau zum laufen zu bekommen dann wars ok.....
 
Viele Fragen:
1. Was für ein Dateisystem nutzt du?
2. Welches Medium nutzt du (Festplatte/SSD/NVME)?
3. Schreibst du auf die gleiche Platte, von der du liest?
4. Wie voll sind denn die Platten?
5. Was sagt "top" während du schreibst?
6. Sollte es zfs sein: Was sagt zpool iostat während du verschiebst?
 
Viele Fragen:
1. Was für ein Dateisystem nutzt du?
2. Welches Medium nutzt du (Festplatte/SSD/NVME)?
3. Schreibst du auf die gleiche Platte, von der du liest?
4. Wie voll sind denn die Platten?
5. Was sagt "top" während du schreibst?
6. Sollte es zfs sein: Was sagt zpool iostat während du verschiebst?
Hier die Antworten auf Deine Fragen. Das System fühlt sich etwas ansprechbarer an. Aber wenn ich im tmux ein neues Terminal öffne, dann dauert es ein paar Sekunden bis sich etwas tut und insgesamt mehrere Sekunden bis ich einen Prompt sehe. Ich habe gerade knapp 6 Sekunden vom Ctrl-b c bis zum Prompt gemessen. Im Vergleich zu der Themenerstellung ist ein ls aber gleich wieder da.
Beide Filesysteme sind via ZFS verschlüsselt.

zu 1.) ZFS.
zu 2.) Festplatten Spiegel auf SSD
zu 3.) Nein.
zu 4.) Die SSD, d.h. das Medium auf das geschrieben wird, ist zu Beginn zu 28% gefüllt.
zu 5.)
Code:
last pid: 81377;  load averages:  0.87,  0.94,  0.66                                           up 0+09:52:41  17:42:24
75 processes:  1 running, 72 sleeping, 2 stopped
CPU 0:  3.5% user,  0.0% nice, 12.9% system,  0.0% interrupt, 83.5% idle
CPU 1:  3.1% user,  0.0% nice, 12.9% system,  0.0% interrupt, 83.9% idle
CPU 2:  2.0% user,  0.0% nice,  6.3% system,  0.0% interrupt, 91.8% idle
CPU 3:  1.6% user,  0.0% nice,  8.2% system,  1.6% interrupt, 88.6% idle
Mem: 301M Active, 880M Inact, 21M Laundry, 13G Wired, 40K Buf, 1526M Free
ARC: 8208M Total, 1758M MFU, 3924M MRU, 1543M Anon, 48M Header, 934M Other
     4980M Compressed, 5038M Uncompressed, 1.01:1 Ratio
Swap: 8192M Total, 8192M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE    C   TIME     CPU COMMAND
35468 root          1  28    0    27M    13M usleep   1   9:14  16.22% mc

zu 6.)
Code:
tank0       3.80T  3.47T    304      0  48.5M      0
zroot        136G   300G      0    196      0  24.5M
----------  -----  -----  -----  -----  -----  -----
tank0       3.80T  3.47T    236      0  35.8M      0
zroot        136G   300G      0    231      0  28.9M
----------  -----  -----  -----  -----  -----  -----
tank0       3.80T  3.47T    295      0  47.5M      0
zroot        136G   300G      0    426      0  52.4M
----------  -----  -----  -----  -----  -----  -----
tank0       3.80T  3.47T    273      0  39.2M      0
zroot        136G   300G      0    175      0  21.9M
----------  -----  -----  -----  -----  -----  -----
tank0       3.80T  3.47T    217      0  32.2M      0
zroot        136G   300G      0    110      0  13.8M
 
Die Datenrate finde ich auffallend langsam. Passiert das auch, wenn du per zfs send | zfs receive Daten kopierst?

Was mir noch einfällt (was aber unwahrscheinlich der Grund ist), da ich "mc" lese: Ich hatte vor Ewigkeiten mal das Problem, dass der Start von mc ewig brauchte und auch sonst teilweise schräges Verhalten. Grund war eine kaputte Namensauflösung für sich selbst. Also Name->IP und IP->Name haben nicht beide funktioniert.

Auch etwas hoch (aber das liegt evtl. an der Verschlüsselung?) finde ich die CPU-Auslastung.

Sind die Pools iO? Was sagt zpool status?
 
Die Datenrate finde ich auffallend langsam. Passiert das auch, wenn du per zfs send | zfs receive Daten kopierst?

Was mir noch einfällt (was aber unwahrscheinlich der Grund ist), da ich "mc" lese: Ich hatte vor Ewigkeiten mal das Problem, dass der Start von mc ewig brauchte und auch sonst teilweise schräges Verhalten. Grund war eine kaputte Namensauflösung für sich selbst. Also Name->IP und IP->Name haben nicht beide funktioniert.

Auch etwas hoch (aber das liegt evtl. an der Verschlüsselung?) finde ich die CPU-Auslastung.

Sind die Pools iO? Was sagt zpool status?
Die Pools sind alle ok, keine Fehler.
 
Hier mal die Ausgabe von procsystime auf den mc-Prozess:
Code:
Elapsed Times for PID 50042,

         SYSCALL          TIME (ns)
           fcntl              24417
           lseek              45417
            open             103628
           fstat             631468
           close             767387
         fstatat            3852275
           mkdir            4714106
           chmod           63359537
           chown           64038630
       utimensat           65107823
          openat           65982667
       sigaction           86165425
   getdirentries           88644280
     sigprocmask          135296132
          select          300220971
            read         2749336966
           write        12897378538

und hier die Ausgabe von hotkernel ab 100 Funktionsaufrufen:
Code:
Sampling... Hit Ctrl-C to end.                                                                              [1204/1550]
^C                                                                                                                     
FUNCTION                                                COUNT   PCNT                                                   
kernel`cpu_activeclock                                    100   0.0%                                         [112/1550]
kernel`g_io_check                                         101   0.0%
zfs.ko`bp_get_dsize_sync                                  101   0.0%
kernel`_sx_sunlock_int                                    101   0.0%
kernel`taskqueue_enqueue                                  102   0.0%
zfs.ko`arc_state_multilist_index_func                     102   0.0%
kernel`adastrategy                                        103   0.0%
zfs.ko`spa_tx_assign_add_nsecs                            103   0.0%
zfs.ko`dnode_multilist_index_func                         105   0.0%
kernel`sx_init_flags                                      105   0.0%
kernel`bounce_bus_dmamap_sync                             106   0.0%
zfs.ko`range_tree_remove_impl                             106   0.0%
zfs.ko`list_create                                        106   0.0%
zfs.ko`abd_copy_to_buf_off_cb                             107   0.0%
zfs.ko`list_head                                          108   0.0%
kernel`devstat_end_transaction                            108   0.0%
dtrace.ko`dtrace_ioctl                                    110   0.0%
kernel`chacha_encrypt_bytes                               111   0.0%
kernel`cache_alloc                                        111   0.0%
zfs.ko`dmu_zfetch_prepare                                 111   0.0%
kernel`g_io_request                                       112   0.0%
zfs.ko`zil_aitx_compare                                   112   0.0%
zfs.ko`buf_hash_insert                                    113   0.0%
kernel`ahciaction                                         114   0.0%
kernel`lock_mtx                                           114   0.0%
zfs.ko`zio_vdev_io_start                                  115   0.0%
zfs.ko`vdev_mirror_child_select                           116   0.0%
zfs.ko`spa_key_mapping_compare                            118   0.0%
zfs.ko`freebsd_crypt_uio                                  118   0.0%
zfs.ko`list_remove                                        121   0.0%
kernel`xpt_action_default                                 123   0.0%
zfs.ko`dmu_buf_hold_array_by_dnode                        123   0.0%
zfs.ko`vdev_mirror_io_start                               123   0.0%
kernel`trap                                               125   0.0%
kernel`lock_init                                          125   0.0%
kernel`lock_delay                                         126   0.0%
kernel`_rm_rlock                                          127   0.0%
kernel`g_io_deliver                                       129   0.0%
zfs.ko`arc_buf_destroy                                    132   0.0%
zfs.ko`avl_numnodes                                       133   0.0%
zfs.ko`avl_find                                           134   0.0%
zfs.ko`kmem_cache_free                                    134   0.0%
zfs.ko`dbuf_write_ready                                   135   0.0%
kernel`xpt_run_allocq                                     136   0.0%
zfs.ko`avl_first                                          137   0.0%
zfs.ko`range_tree_add_impl                                137   0.0%
kernel`g_part_start                                       138   0.0%
zfs.ko`vdev_queue_io                                      138   0.0%
zfs.ko`zfs_blkptr_verify                                  140   0.0%
kernel`kern_sigaction                                     140   0.0%
zfs.ko`arc_access                                         141   0.0%
zfs.ko`crypto_mac_init                                    142   0.0%
kernel`bus_dma_run_filter                                 144   0.0%
kernel`kern_sigprocmask                                   145   0.0%
kernel`ptsdev_poll                                        145   0.0%
kernel`ahci_execute_transaction                           146   0.0%
zfs.ko`zfs_read                                           147   0.0%
kernel`cpu_search_highest                                 148   0.0%
kernel`aesni_cipher_crypt                                 149   0.0%                                          [54/1550]
zfs.ko`arc_buf_fill                                       150   0.0%
zfs.ko`vdev_geom_io_start                                 151   0.0%
kernel`cpu_tickrate                                       152   0.0%
kernel`xpt_done_process                                   153   0.0%
dtrace.ko`dtrace_dynvar_clean                             153   0.0%
zfs.ko`abd_iter_unmap                                     153   0.0%
zfs.ko`zio_wait                                           154   0.0%
kernel`ahci_ch_intr_direct                                154   0.0%
kernel`g_disk_start                                       155   0.0%
zfs.ko`arc_buf_access                                     156   0.0%
zfs.ko`arc_get_data_impl                                  158   0.0%
kernel`_sx_slock_int                                      158   0.0%
kernel`cpu_idleclock                                      159   0.0%
kernel`fget_unlocked                                      160   0.0%
zfs.ko`vdev_queue_io_done                                 161   0.0%
zfs.ko`lz4_decompress_zfs                                 163   0.0%
zfs.ko`arc_read_done                                      165   0.0%
kernel`nanouptime                                         166   0.0%
zfs.ko`spa_config_exit                                    167   0.0%
zfs.ko`sa_attr_op                                         168   0.0%
zfs.ko`arc_buf_alloc_impl                                 168   0.0%
zfs.ko`dbuf_create                                        169   0.0%
zfs.ko`zio_vdev_io_assess                                 169   0.0%
kernel`_sleep                                             171   0.0%
zfs.ko`zio_add_child                                      172   0.0%
zfs.ko`zrl_add_impl                                       175   0.0%
zfs.ko`multilist_insert                                   175   0.0%
kernel`ip_output                                          175   0.0%
zfs.ko`arc_adapt                                          177   0.0%
zfs.ko`buf_hash_find                                      177   0.0%
kernel`cpu_fetch_syscall_args                             178   0.0%
zfs.ko`arc_write_ready                                    180   0.0%
zfs.ko`zio_do_crypt_data                                  183   0.0%
zfs.ko`abd_iterate_func2                                  185   0.0%
zfs.ko`zfs_write                                          187   0.0%
zfs.ko`zfs_btree_find                                     188   0.0%
zfs.ko`abd_iter_advance                                   190   0.0%
kernel`xpt_run_devq                                       192   0.0%
kernel`adastart                                           197   0.0%
kernel`PHYS_TO_VM_PAGE                                    197   0.0%
zfs.ko`cityhash4                                          203   0.0%
zfs.ko`kmem_cache_alloc                                   203   0.0%
kernel`re_intr_msi                                        204   0.0%
zfs.ko`spa_config_enter                                   205   0.0%
zfs.ko`dbuf_dirty                                         209   0.0%
zfs.ko`zio_nowait                                         210   0.0%
kernel`vn_io_fault                                        211   0.0%
zfs.ko`dmu_tx_assign                                      214   0.0%
kernel`adadone                                            219   0.0%
kernel`ithread_loop                                       225   0.0%
zfs.ko`dmu_buf_will_dirty_impl                            226   0.0%
zfs.ko`avl_remove                                         232   0.0%
zfs.ko`dbuf_read                                          238   0.0%
zfs.ko`avl_rotation                                       238   0.0%
kernel`ahci_end_transaction                               245   0.0%
zfs.ko`vdev_stat_update                                   247   0.0%
zfs.ko`dbuf_rele_and_unlock                               248   0.0%
kernel`selrecord                                          249   0.0%
kernel`crypto_newsession                                  254   0.0%
zfs.ko`dbuf_hold_impl                                     255   0.0%
kernel`binuptime                                          259   0.0%
zfs.ko`dbuf_compare                                       267   0.0%
zfs.ko`dsl_dir_tempreserve_space                          270   0.0%
kernel`ahci_ch_intr_main                                  271   0.0%
zfs.ko`arc_read                                           271   0.0%
zfs.ko`zio_create                                         273   0.0%
zfs.ko`vdev_queue_offset_compare                          275   0.0%
zfs.ko`zio_remove_child                                   279   0.0%
kernel`bounce_bus_dmamap_load_buffer                      280   0.0%
zfs.ko`dbuf_find                                          288   0.0%
zfs.ko`arc_change_state                                   316   0.0%
kernel`tscp_get_timecount                                 319   0.0%
zfs.ko`metaslab_alloc_dva                                 322   0.0%
zfs.ko`zio_vdev_io_done                                   338   0.0%
zfs.ko`zio_ready                                          341   0.0%
kernel`ahci_intr                                          344   0.0%
kernel`spinlock_enter                                     344   0.0%
zfs.ko`zio_execute                                        347   0.0%
kernel`taskqueue_run_locked                               357   0.0%
kernel`tcp_output                                         364   0.0%
zfs.ko`avl_add                                            411   0.0%
zfs.ko`abd_iterate_func                                   526   0.1%
zfs.ko`vdev_queue_io_to_issue                             536   0.1%
kernel`malloc                                             565   0.1%
zfs.ko`aggsum_add                                         567   0.1%
zfs.ko`abd_iter_map                                       567   0.1%
kernel`bounce_bus_dmamap_load_ma                          622   0.1%
kernel`amd64_syscall                                      624   0.1%
kernel`sched_idletd                                       652   0.1%
kernel`kern_select                                        686   0.1%
kernel`pmap_kextract                                      710   0.1%
zfs.ko`zio_done                                          1039   0.1%
kernel`uma_zfree_arg                                     1136   0.1%
kernel`memset_erms                                       1151   0.1%
kernel`0xffffffff81                                      1232   0.1%
kernel`free                                              1439   0.2%
kernel`uma_zalloc_arg                                    1986   0.2%
kernel`_libmd_SHA512_Transform                           2399   0.3%
dtrace.ko`dtrace_interrupt_enable                        2628   0.3%
kernel`copyout_smap_erms                                 4022   0.4%
kernel`copyin_smap_erms                                  4215   0.5%
zfs.ko`lz4_compress_zfs                                  5953   0.7%
kernel`memmove_erms                                      7614   0.8%
kernel`spinlock_exit                                    10580   1.2%
zfs.ko`fletcher_4_sse2_native                           17787   2.0%
kernel`memcpy_erms                                      26947   3.0%
kernel`AES_GCM_encrypt                                  30295   3.3%
kernel`cpu_idle                                         34747   3.8%
kernel`AES_GCM_decrypt                                  46630   5.1%
kernel`acpi_cpu_idle                                   652705  71.7%
 
Halle @jmt ich habe meinen Lapto und PC zu Hause von 13.0 auf 13.1 angehoben. Keinerlei Pobleme bisher - weder beim service sshd noch bei Deiner Problematik mit dem Transfer. Wege Schreibvorgängen: ich habe einen Backuprechner - auf dem habe ich wie gewohne per rsync meine Daten synchronisiert. Übertragungsrate je nach Dateigrösse bis 100 MB/sec. Zurück habe ich mal eine 10 GByte Datei die ich per dd if=/dev/random... erzeugt habe vom Backuprechner auf meinen PC per rsync kopiert. Transferrate lag bei ungefähr 66 MB/sec. Könnte ein bisschen mehr sein, aber die Platten im PC sind nicht die schnellsten... Auf jeden fall habe ich ncihts auffälliges bemerkt. Ich hoffe, Du kommst dem ganzen noch "auf die Schliche" Alles Gute!! VG Norbert
 
Zurück
Oben