Aplikasi yang kami gunakan berjalan lambat di server websphere, kami menemukan ada banyak pesan OutOfMemoryError di log WS.

[11/22/17 2:35:27:945 UTC] 00000116 ServletWrappe E
com.ibm.ws.webcontainer.servlet.ServletWrapper service Uncaught
service() exception thrown by servlet action:
java.lang.OutOfMemoryError: Failed to create a thread: retVal
-1073741830, errno 11
    at java.lang.Thread.startImpl(Native Method)
    at java.lang.Thread.start(Thread.java:948)
    at com.sun.jndi.ldap.Connection.<init>(Connection.java:246)
    at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:149)
    at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1626)
    at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2758)
    at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:331)
    at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:204)

Baru-baru ini, kami memperbarui aplikasi dan WS, tetapi sebelum itu, kami belum pernah melihat masalah seperti itu. Kami membuat aplikasi kami menggunakan IBM Content Navigator (ICN) 2.0.3. sebagai Penampil Gambar dan menyebarkannya, dan juga memutakhirkan Websphere ke WAS 8.5.5.12, jadi Kami tidak dapat menentukan masalah apakah yang disebabkan oleh Penampil Gambar ICN atau paket perbaikan WAS yang baru, tetapi tampaknya penampil gambar ICN lebih mungkin untuk memperlambat sistem, karena kami selalu memutakhirkan WS dengan paket perbaikan baru, kami belum melihat satupun dari mereka dapat menyebabkan OutOfMemoryError.

Kami memeriksa ruang kosong server selama kinerja lambat, kami menemukan ada banyak memori yang tersisa. Dan kami juga menyesuaikan ukuran heap maksimum websphere menjadi 4096 (yang sangat tinggi), tetapi tetap tidak berguna. Saat ini kami tidak tahu di mana harus mengkonfigurasi untuk memecahkan masalah kinerja rendah seperti itu. Tolong beri kami beberapa saran.

0
齐天大圣 22 November 2017, 09:20

1 menjawab

Jawaban Terbaik

Menemukan http://www-01.ibm.com/support yang sama /docview.wss?uid=swg21633466

  1. Linux memiliki proses maksimum yang diizinkan per batas pengguna, kita dapat memeriksanya menggunakan perintah "ulimit -u". Jika nilai ini rendah (default adalah 1024), maka buatlah menjadi tidak terbatas atau naikkan ke nilai yang tinggi, katakanlah 131072. Bagian ini juga disorot sebagai bagian "proses pengguna maksimal" di keluaran "ulimit -a". Gunakan perintah berikut untuk mengaturnya menjadi tidak terbatas: ulimit -u tidak terbatas

  2. Tingkatkan jumlah memori asli yang tersedia dengan menurunkan ukuran tumpukan Java menggunakan opsi -Xmx. Ruang alamat proses yang tidak digunakan oleh heap Java tersedia untuk penggunaan heap asli. Java heap diatur dalam file $TOP/bin/conf/service_mem_settings.ini untuk 6 layanan dan sebagai custom_java_options dalam file $TOP/bin/conf/env_settings.ini untuk skrip back end.

  3. Periksa persyaratan ruang menggunakan perintah 'df -k'.

  4. Kurangi jumlah utas yang digunakan.

0
user1681128user1681128 28 November 2017, 13:52