Tuning System Performance
Tags: ramadhanbersamaredhat, bagasumiabibiba
Published: 2024-04-01 06:30:03

## Sistem Penyetelan

Sistem Penyetelan bertujuan untuk mengoptimalkan kinerja sistem dengan cara menyesuaikan berbagai pengaturan berdasarkan kebutuhan penggunaan. Ini dilakukan melalui _daemon tuned_, yang dapat menerapkan penyesuaian baik secara statis maupun dinamis menggunakan profil penyetelan.

1. *Penyetelan Statis*: Ini mengonfigurasi pengaturan sistem saat layanan dimulai atau saat memilih profil penyetelan baru. Dalam penyetelan statis, parameter kernel ditetapkan sebelumnya dan tetap sama sepanjang waktu, tidak disesuaikan berdasarkan aktivitas sistem.

2. *Penyetelan Dinamis*: Dengan penyetelan dinamis, tuned memantau aktivitas sistem dan menyesuaikan pengaturan berdasarkan perubahan perilaku. Ini berarti sistem akan menyesuaikan pengaturan secara otomatis tergantung pada beban kerja saat ini, seperti meningkatkan pengaturan selama waktu aktivitas tinggi dan menguranginya saat aktivitas rendah.

Untuk menggunakan fitur ini, Anda perlu menginstal dan mengaktifkan paket tuned di sistem Anda. Setelah itu, Anda bisa memilih profil penyetelan yang sesuai dengan kebutuhan Anda. Profil-profil yang tersedia termasuk profil hemat daya, profil yang meningkatkan kinerja, dan berbagai profil yang berfokus pada aspek kinerja tertentu, seperti latensi rendah atau throughput tinggi untuk penyimpanan dan jaringan, serta kinerja mesin virtual dan host virtualisasi. Dengan demikian, sistem akan diatur secara otomatis untuk mencapai kinerja optimal sesuai dengan penggunaan yang sedang berlangsung.

## Memilih Profil Penyetelan

Aplikasi Tuned menyediakan profil yang dibagi ke dalam kategori berikut:

- Profil hemat daya

- Profil yang meningkatkan kinerja

Profil peningkatan kinerja mencakup profil yang berfokus pada aspek-aspek berikut:

- Latensi rendah untuk penyimpanan dan jaringan

- Throughput tinggi untuk penyimpanan dan jaringan

- Kinerja mesin virtual

- Kinerja host virtualisasi

**Profil yang Disetel dan Tujuan**

_balanced :_ Ideal untuk sistem yang memerlukan kompromi antara penghematan daya dan kinerja.

_desktop :_ Berasal dari balancedprofil. Memberikan respons yang lebih cepat dari aplikasi interaktif.

_throughput-performance :_ Menyetel sistem untuk throughput maksimum

_latency-performance :_ Ideal untuk sistem server yang memerlukan latensi rendah dengan mengorbankan konsumsi daya.

_network-latency :_ Berasal dari latency-performanceprofil. Ini memungkinkan parameter penyetelan jaringan tambahan untuk memberikan latensi jaringan rendah.

_network-throughput :_ Berasal dari throughput-performanceprofil. Parameter penyetelan jaringan tambahan diterapkan untuk throughput jaringan maksimum.

_powersave :_ Menyetel sistem untuk penghematan daya maksimum.

_oracle :_ Dioptimalkan untuk memuat database Oracle berdasarkan throughput-performanceprofil.

_virtual-guest :_ Menyetel sistem untuk kinerja maksimum jika dijalankan pada mesin virtual.
 
_virtual-host :_ Menyetel sistem untuk kinerja maksimum jika bertindak sebagai host untuk mesin virtual.


## Mengelola profil dari baris perintah

mari kita lihat contoh bagaimana menggunakan daemon tuned dengan cara memilih profil penyetelan yang sesuai.

- *Instalasi dan Aktivasi Tuned*:

```
[root@host ~]$ yum install tuned
```

```
[root@host ~]$ systemctl enable --now tuned
```
  
   Dengan perintah di atas, Anda menginstal dan mengaktifkan daemon tuned di sistem Anda.

- *Menggunakan Tuned untuk Memilih Profil Penyetelan*:

```
[root@host ~]$ tuned-adm list
```

 Dengan perintah di atas, Anda dapat melihat daftar profil penyetelan yang tersedia di sistem Anda. Setelah itu, Anda dapat memilih profil penyetelan yang sesuai dengan kebutuhan Anda. Misalnya, jika Anda ingin menggunakan profil yang meningkatkan kinerja umum, Anda dapat melakukannya dengan perintah:

```
 [root@host ~]$ tuned-adm profile throughput-performance
```
   
- *Memantau dan Mengelola Profil Penyetelan*:
   Anda juga dapat memantau penggunaan profil penyetelan saat ini dan beralih antara profil-profil yang berbeda sesuai kebutuhan. Untuk melihat profil penyetelan yang sedang digunakan, Anda bisa menggunakan perintah:
   
```
[root@host ~]$ tuned-adm active
```
   
   Dan jika Anda perlu beralih ke profil lain, misalnya, kembali ke profil default:
   
```
 [root@host ~]$ tuned-adm profile default
```
   
Dengan cara ini, Anda dapat dengan mudah mengoptimalkan kinerja sistem Anda dengan memilih profil penyetelan yang sesuai menggunakan daemon tuned.

## Mempengaruhi Penjadwalan Proses

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0pdvd6zo2iok85keknep.png)

Proses di komputer berjalan secara bersamaan dan dapat memiliki tingkat kepentingan yang berbeda-beda. Untuk mengatur seberapa penting suatu proses tersebut, kita dapat menggunakan nilai yang disebut "level Nice". Level Nice berkisar dari -20 hingga 19, di mana nilai negatif menandakan prioritas yang lebih tinggi (proses akan mendapatkan lebih banyak CPU) dan nilai positif menandakan prioritas yang lebih rendah (proses akan mendapatkan kurang CPU).

Misalnya, jika suatu proses memiliki level Nice -20, itu berarti itu adalah prioritas tertinggi dan akan mendapatkan lebih banyak waktu CPU. Sebaliknya, jika proses memiliki level Nice 19, itu adalah prioritas terendah dan mungkin akan mendapatkan waktu CPU lebih sedikit.

Hanya pengguna dengan hak istimewa (seperti root) yang dapat menurunkan level Nice proses. Pengguna biasa hanya dapat meningkatkan level Nice pada proses yang mereka jalankan sendiri. Ini penting karena menurunkan level Nice pada proses yang membutuhkan banyak CPU dapat mempengaruhi kinerja proses lainnya.

Alat seperti top dan ps dapat digunakan untuk melihat level Nice dari proses-proses yang sedang berjalan. Dengan menggunakan informasi ini, pengguna dapat memantau dan mengatur prioritas proses-proses mereka sesuai dengan kebutuhan sistem.


## Melaporkan Level Bagus

Perintah "ps" digunakan untuk melihat informasi tentang proses-proses yang sedang berjalan di sistem. Salah satu informasi yang bisa dilihat adalah "level Nice" dari setiap proses, yang menunjukkan seberapa prioritas proses tersebut dalam mendapatkan waktu CPU.

Dalam contoh di bawah, perintah "ps" digunakan dengan beberapa opsi untuk menampilkan kolom PID (ID proses), nama proses, level Nice, dan kelas penjadwalan, yang diurutkan berdasarkan level Nice dari yang tertinggi ke terendah.

```
[user@host ~]$ ps axo pid,comm,nice,cls --sort=-nice
```

Ketika kita memulai proses baru, proses tersebut akan mewarisi level Nice dari proses "induknya". Misalnya, jika kita menjalankan perintah "sha1sum /dev/zero &", proses tersebut akan memiliki level Nice 0 karena mewarisi dari shell yang dijalankan.

Perintah "nice" digunakan untuk memulai proses baru dengan level Nice yang berbeda dari level defaultnya. Tanpa opsi, level Nice default adalah 10. Contohnya:

```
[user@host ~]$ nice sha1sum /dev/zero &
```

Jika kita ingin menentukan level Nice secara langsung, kita dapat menggunakan opsi "-n" dengan perintah "nice". Misalnya:

```
[user@host ~]$ nice -n 15 sha1sum &
```

Penting untuk dicatat bahwa pengguna biasa hanya dapat meningkatkan level Nice dari nilai saat ini, hingga maksimum 19. Hanya pengguna root yang dapat menurunkan level Nice dari nilai apa pun hingga minimum -20.

Ketika proses sudah berjalan, kita juga dapat mengubah level Nice-nya menggunakan perintah "renice". Misalnya, jika kita ingin mengubah level Nice proses dengan PID 3521 menjadi 19, kita dapat menggunakan perintah:

```
[user@host ~]$ renice -n 19 3521
```

Dengan perintah-perintah ini, kita dapat mengatur prioritas proses-proses yang berjalan di sistem sesuai kebutuhan, untuk memastikan kinerja sistem yang optimal.