GNU/Linux >> Belajar Linux >  >> Ubuntu

Ubuntu – Persis Terjadi Dalam Proses Ini?

Jadi saya menjalankan perintah berikut dan saya tidak sengaja melihat monitor dan saya bertanya-tanya apa yang sebenarnya terjadi. dapatkah seseorang menjelaskan kepada saya apa yang sebenarnya terjadi di sini?

echo "`seq 100000000 -1 1`" > file

Karena sering kali gambar tidak dimuat untuk saya, saya mencoba menggambarkan apa yang saya lihat di dalamnya. Penggunaan memori tumbuh secara linier dan penggunaan CPU1 ditetapkan pada 100% kemudian pada saat t1 (hampir tidak terlihat) t2 t3 t4 t5 penggunaan memori tiba-tiba tumbuh lebih cepat selama sekitar setengah detik dan penggunaan CPU1 menurun dan penggunaan CPU2 meningkat semua di saat yang sama kemudian tingkat pertumbuhan memori kembali ke bentuk liniernya dengan kemiringan yang sama persis dan penggunaan CPU1 tumbuh menuju 100% lagi dan penggunaan CPU2 turun ke keadaan sebelumnya dalam setengah detik lagi. Yang menarik adalah:

t(i)-t(i-1) = 2*(t(i+1)-t(i))     for every i
The amount of decrease in CPU1 usage doubles for each i
The time interval in which these things take seems to be the same for all i
The amount of sudden growth in memory usage also doubles for all i
The sum of the loads of CPU1 and CPU2 seem to be constant in time.

Jadi saya mengajukan banyak pertanyaan dalam satu pertanyaan tetapi saya pikir ini adalah cara terbaik untuk melakukannya. Daripada memposting gambar yang sama 5 kali dengan penjelasan yang hampir sama.

Adakah yang bisa menjelaskan kepada saya Mengapa tepatnya pengamatan ini terjadi?

Info memori:

$ sudo lshw -class memory
  *-firmware              
       description: BIOS
       vendor: LENOVO
       physical id: 0
       version: 9ECN31WW(V1.14)
       date: 08/18/2014
       size: 128KiB
       capacity: 6592KiB
       capabilities: pci upgrade shadowing cdboot bootselect edd int13floppynec int13floppytoshiba int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int9keyboard int10video acpi usb biosbootspecification uefi
  *-cache:0
       description: L1 cache
       physical id: b
       slot: L1 Cache
       size: 32KiB
       capacity: 32KiB
       capabilities: synchronous internal write-back instruction
       configuration: level=1
  *-cache:1
       description: L2 cache
       physical id: c
       slot: L2 Cache
       size: 256KiB
       capacity: 256KiB
       capabilities: synchronous internal write-back unified
       configuration: level=2
  *-cache:2
       description: L3 cache
       physical id: d
       slot: L3 Cache
       size: 6MiB
       capacity: 6MiB
       capabilities: synchronous internal write-back unified
       configuration: level=3
  *-cache
       description: L1 cache
       physical id: a
       slot: L1 Cache
       size: 32KiB
       capacity: 32KiB
       capabilities: synchronous internal write-back data
       configuration: level=1
  *-memory
       description: System Memory
       physical id: 2a
       slot: System board or motherboard
       size: 8GiB
     *-bank:0
          description: SODIMM DDR3 Synchronous 1600 MHz (0.6 ns)
          product: HMT451S6BFR8A-PB
          vendor: Unknown
          physical id: 0
          serial: 1E52E0EA
          slot: DIMM0
          size: 4GiB
          width: 64 bits
          clock: 1600MHz (0.6ns)
     *-bank:1
          description: DIMM [empty]
          product: Empty
          vendor: Empty
          physical id: 1
          serial: Empty
          slot: DIMM1
     *-bank:2
          description: SODIMM DDR3 Synchronous 1600 MHz (0.6 ns)
          product: HMT451S6BFR8A-PB
          vendor: Unknown
          physical id: 2
          serial: 1E82E0B8
          slot: DIMM2
          size: 4GiB
          width: 64 bits
          clock: 1600MHz (0.6ns)
     *-bank:3
          description: DIMM [empty]
          product: Empty
          vendor: Empty
          physical id: 3
          serial: Empty
          slot: DIMM3

Info CPU:

$ sudo lshw -class processor
  *-cpu                   
       description: CPU
       product: Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz
       vendor: Intel Corp.
       physical id: 4
       bus info: [email protected]
       version: Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz
       serial: To Be Filled By O.E.M.
       slot: U3E1
       size: 3285MHz
       capacity: 3400MHz
       width: 64 bits
       clock: 100MHz
       capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts cpufreq
       configuration: cores=4 enabledcores=4 threads=8

Info kernel dan OS

$ uname -a
Linux <Machine name> 4.10.0-42-generic #46~16.04.1-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux

Info cangkang:

$ $SHELL --version
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)

Tukar info:

$ lsblk | grep SWAP
├─sda2   8:2    0   935M  0 part [SWAP]

Jawaban yang Diterima:

Anda menjalankan perintah yang menghasilkan ~848MB output, mencoba menginterpolasinya ke dalam argumen baris perintah shell untuk echo dan kemudian mengarahkan itu ke file. (BTW, shell modern pada sistem modern memungkinkan baris perintah hingga beberapa megabyte, tetapi tidak ada yang mengizinkan hampir satu gigabyte).

Terkait:Fedora – Antarmuka vboxnet hilang setelah memutakhirkan ke Fedora 26?

Apakah ada alasan untuk terkejut bahwa ini menggunakan RAM dan daya CPU yang sangat besar?

Bahkan menjalankan seq 100000000 -1 1 > file akan memakan waktu yang cukup lama, tetapi penggunaan memori tidak sebanyak itu karena tanpa substitusi perintah, output tidak perlu disimpan dalam memori.

misalnya pada AMD Phenom II 1090T saya, dibutuhkan 1 menit dan 2 detik untuk menjalankan seq perintah dan arahkan outputnya ke file:

$ time seq 100000000 -1 1 > /tmp/seq.test

real 1m2.136s   user 1m0.215s   sys 0m1.405s
$ ls -lh /tmp/seq.test 
-rw-r--r-- 1 cas cas 848M Jan  8 12:06 /tmp/seq.test

Ubuntu
  1. Instal Discord di Ubuntu 20.04 - Proses langkah demi langkah?

  2. Instal AIDE di Ubuntu 20.04 - Proses selangkah demi selangkah?

  3. Instal Pyradio di Ubuntu 20.04 - Proses selangkah demi selangkah?

  1. Instal MAAS di Ubuntu 20.04 - Melalui proses langkah demi langkah?

  2. Instal Drupal di Ubuntu 20.04 LTS - Proses langkah demi langkah?

  3. Instal Moodle di Ubuntu 20.04 LTS - Proses langkah demi langkah?

  1. Instal Kodi di Ubuntu 20.04 LTS - Proses selangkah demi selangkah?

  2. Ubah Latar Belakang Desktop Saya di Ubuntu 20.04 - Langkah-langkah untuk melakukan ini?

  3. Instal Ruby di Ubuntu 20.04 - Proses Langkah demi Langkah?