Clear Memory Linux Tanpa Restart

Jika di sistem operasi Windows kita mengenal Task Manager untuk mengetahui seberapa dan apa saja load yang digunakan oleh Windows dalam processing data, maka di Linux dalam versi text kita akan mengenal perintah top. Perintah ini hanya dipanggil dengan melakukan pengetikan top. Untuk keluar tinggal mengetikkan tombol “q”. Sepintas isinya adalah sebagai berikut:

 

top - 09:04:02 up 35 min,  5 users,  load average: 0.26, 0.31, 0.39
Tasks: 176 total,   2 running, 174 sleeping,   0 stopped,   0 zombie
Cpu(s):  9.2%us,  2.5%sy,  0.0%ni, 88.1%id,  0.0%wa,  0.2%hi,  0.0%si,  0.0%st
Mem:   1800496k total,   820180k used,   980316k free,    15120k buffers
Swap:   257032k total,        0k used,   257032k free,   214868k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                               
 6767 bimo      20   0  496m 158m  28m S   12  9.0   4:03.68 firefox-bin                                                                                                             987 root      20   0  332m  66m 9.8m S    4  3.8   2:27.83 Xorg                                                                                                                  
 6758 bimo      20   0  122m 9708 6288 R    3  0.5   1:02.65 xmms                                                                                                                  
 6621 bimo      20   0  117m  16m  10m S    2  0.9   0:09.92 gnome-terminal                                                                                                         2028 bimo      20   0  148m 5044 3744 S    1  0.3   0:24.31 pulseaudio                                                                                                            
   47 root      15  -5     0    0    0 S    0  0.0   0:00.91 scsi_eh_1                                                                                                                 1 root      20   0  2616 1516 1140 S    0  0.1   0:00.97 init                                                                                                                  
    2 root      15  -5     0    0    0 S    0  0.0   0:00.00 kthreadd                                                                                                                  3 root      RT  -5     0    0    0 S    0  0.0   0:00.00 migration/0                                                                                                           
    4 root      15  -5     0    0    0 S    0  0.0   0:00.04 ksoftirqd/0                                                                                                           
    5 root      RT  -5     0    0    0 S    0  0.0   0:00.00 watchdog/0                                                                                                            
    6 root      RT  -5     0    0    0 S    0  0.0   0:00.00 migration/1                                                                                                           
    7 root      15  -5     0    0    0 S    0  0.0   0:00.01 ksoftirqd/1                                                                                                           
    8 root      RT  -5     0    0    0 S    0  0.0   0:00.00 watchdog/1                                                                                                            
    9 root      15  -5     0    0    0 S    0  0.0   0:00.15 events/0                                                                                                              
   10 root      15  -5     0    0    0 S    0  0.0   0:00.18 events/1                                                                                                              
   11 root      15  -5     0    0    0 S    0  0.0   0:00.00 cpuset                                                                                                                
   12 root      15  -5     0    0    0 S    0  0.0   0:00.00 khelper

Baris pertama akan berisi informasi : waktu sekarang, durasi waktu hidup komputer, jumlah user yang berproses, termasuk mysql , nobody dan apache, dan rata-rata beban.

Baris kedua akan berisi task yang aktif, kemudian task yang saat itu sedang berjalan, task yang sedang idle, task berhenti dan task yang zombie alias task yang sebenarnya sudah mati namun masih dideteksi sebagai task aktif karena berbagai hal

Baris ketiga adalah notasi load CPU

Baris ke empat adalah Memory yang diload. Perhatikan pada kolom pertama, yaitu besarnya RAM kita yang tidak termasuk dishared dengan VGA, kolom ke dua adalah memori tergunakan yang akan selalu bertambah besar, kolom ketiga adalah memory sisa/kosong yang akan makin kecil, dan terakhir adalah buffer memory.

Memory kosong, ketika makin kecil, maka proses komputer akan semakin lambat. Kecenderungan proses, semakin lama komputer menyala, maka proses akan makin lambat karena memory terguna akan banyak digunakan oleh buffer. Jika di Windows, kita bisa klik kanan dan refresh untuk melakukan minor refresh, maka Linux dapat dilakukan dengan memberikan perintah :

sync

Minor refresh hanya akan memberikan efek sesaat komputer menjadi sedikit enteng dengan kerja beratnya. Jika di Windows, ketika komputer telah “mabuk” maka usaha lain adalah merestart, maka di Linux dapat dilakukan dengan cara lain selain merestart. Yaitu dengan melakukan clear memory. Hal ini tidak perlu merusak software dan tidak perlu restart. Caranya adalah dengan mengganti value pada :

/proc/sys/vm/drop_caches

menjadi 3.

Anda dapat melakukan checking lebih dulu dengan

cat /proc/sys/vm/drop_caches

Biasanya akan berisi nilai 1.

Gambar 1. Menengok isi file drop_caches

 

Selanjutnya lakukan sync lebih dulu, kemudian ubahlah file tersebut dengan cara

echo 3 > /proc/sys/vm/drop_caches

Gambar 2. Mengubah drop_caches

Lihatlah perubahanya pada top. Biasanya buffer dan memori terpakai akan menjadi lebih kecil.

 

Gambar 3. Sebelum di clear

 

Gambar 4. Setelah diclear.

 

File /proc/sys/vm/drop_caches ini tidak dapat ditulis dengan editor text lainnya. Hanya dapat dilakukan oleh root dengan mode echo dan diarahkan ke file tersebut.

Untuk notasi angka untuk diisikan ke drop_cache dapat dilihat di sini :

angka 1 untuk membebaskan pagecache

angka 2 untuk membebaskan dentries dan inodes

angka 3 untuk membebaskan semuanya

 

[Tips] Reset/Ganti Password Root MySQL

Anda pernah merasa kehilangan password root MySQL? Hilang password root MySQL akan sangat mengganggu terutama bagi para administrator server database MySQL. Namun tahukah anda bahwa password Root MySQL itu bisa diubah? Ya, tentu saja bisa. Sebelum mengubah, mari kita pelajari struktur MySQL terutama berkaitan dengan password user MySQL.

Database MySQL

MySQL adalah database server yang memiliki fungsi sebagai penyimpanan dan pengolahan database. Database sendiri adalah penyimpan informasi yang terdiri dari tabel-tabel, dimana tabel-tabel tersebut terdiri dari kolom-kolom. Sedang isiannya secara berurut akan masuk dalam record yang terisi dalam bentuk baris. Dalam MySQL Server, selalu terdapat database MySQL, yang berfungsi menyimpan informasi dan beberapa setting konfigurasi server MySQL. Bila kita berada dalam console MySQL tentu dapat dilihat dengan cara seperti ini :

mysql> show databases like 'mysql';
+------------------+
| Database (mysql) |
+------------------+
| mysql            |
+------------------+
1 row in set (0.00 sec)

mysql>

Atau bisa juga kita lihat di SQL Browser baik dari PhpMyAdmin ataupun aplikasi berbentuk desktop seperti Navicat, SQLYog, MySQLFront.

Salah satu tabel dalam database mysql adalah tabel user.

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables like '%user%';
+--------------------------+
| Tables_in_mysql (%user%) |
+--------------------------+
| user                     |
+--------------------------+
1 row in set (0.00 sec)

mysql>;

Di dalam tabel user terdapat banyak sekali kolom. Untuk kasus kita, hanya perlu kita perhatikan kolom / field : user, password, host.

mysql> select user, password, host from user;
+------------------+-------------------------------------------+-------------+
| user             | password                                  | host        |
+------------------+-------------------------------------------+-------------+
| root             | *993AD4A55C1D20F9ADD51702ED4157941D464395 | localhost   |
| root             | *993AD4A55C1D20F9ADD51702ED4157941D464395 | bimo-laptop |
| root             | *993AD4A55C1D20F9ADD51702ED4157941D464395 | 127.0.0.1   |
+------------------+-------------------------------------------+-------------+

Dalam tabel tersebut, dapat kita lihat susunan passwordnya tersimpan dalam bentuk enkripsi. Untuk memastikan bentuk enkripsinya, kemungkinan dalam MySQL adalah jika bukan password() ya old_password(). Pastikan dengan cara ini :

mysql> select password('test');
+-------------------------------------------+
| password('test')                          |
+-------------------------------------------+
| *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 |
+-------------------------------------------+
1 row in set (0.00 sec)

mysql> select old_password('test');
+----------------------+
| old_password('test') |
+----------------------+
| 378b243e220ca493     |
+----------------------+
1 row in set (0.00 sec)

Dengan demikian kita tahu password dienkripsi dengan enkripsi password(). Untuk mengubah password bisa dilakukan dengan update langsung, dan khusus untuk urusan grant user ini harus dilanjutkan dengan perintah flush privileges;

mysql> UPDATE `user` SET `password`=password('passwordbaru') WHERE `user`='root';

mysql>flush privileges;

 

Maka ketika anda masuk, password ini telah berganti. Tapi memang untuk melakukan ini memang harus ROOT . Jika kita kehilangan password root, tentu tidak dapat melakukan perintah ini. Jangan cemas. Matikan MySQL Server anda, kemudian hidupkan dalam mode –skip-grant-tables. Maka ketika anda masuk console MySQL tanpa password pun akan dapat sebagai root. Lho perintahnya??

Untuk Linux, matikan server linux anda:

root@wedhus#/etc/init.d/mysql stop

atau

root@wedhus# /etc/init.d/mysql.server stop

atau

root@wedhus#/etc/rc.d/rc.mysqld stop

user@wedhus#sudo /etc/init.d/mysql stop

tergantung anda menggunakan jenis linux apa. Atau juga

root@wedhus#killall -9 mysqld_safe

root@wedhus#killall -9 safe_mysqld

 

Selanjutnya hidupkan dalam mode –skip-grant-privileges. Pastikan dulu path mysql server anda.

#root@wedhus#which mysqld_safe

/usr/bin/mysqld_safe

 

Jika sudah pasti, tinggal ketik :

nohup /usr/bin/mysqld_safe --skip-grant-tables &;

 

Selanjutnya anda bisa masuk ke mysql seperti biasa tanpa password dalam mode root mysql.

 

 

WINDOWS

Lho bagaimana dengan windows? Wah maaf saya tidak begitu familiar, tapi kira kira seperti berikut. Matikan Server Xampp, Wamp atau apapun yang mengkontrol MySQL Server anda.

Selanjutnya bukalah command prompt, dengan Start -> Run -> Cmd

Menujulah ke direktori MySQL

C:\ cd blablabla\xampp\mysql\bin>;

Hidupkan dengan –skip-grant-tables

C:\ cd blablabla\xampp\mysql\bin>mysqld --skip-grant-tables

atau

C:\ cd blablabla\xampp\mysql\bin>mysqld-nt --skip-grant-tables

 

Segera ubah password root anda. Jangan terlalu lama membiarkan mode –skip-grant-tables ini, karena ini adalah kondisi paling tidak aman, dimana seluruh port terbuka untuk root dan dapat melakukan administrasi apapun dalam mysql tanpa password. Setelah itu, matikan mysql, hidupkan seperti biasa.