Properti memori

Berlaku untuk: Power BI Premium SQL Server Analysis Services Azure Analysis Services

Analysis Services telah mengalokasikan memori dalam jumlah sederhana saat startup sehingga permintaan dapat segera ditangani. Memori tambahan dialokasikan saat beban kerja kueri dan pemrosesan meningkat. Dengan menentukan pengaturan konfigurasi, Anda dapat mengontrol ambang batas di mana memori dirilis. Misalnya, pengaturan HardMemoryLimit menentukan kondisi kehabisan memori yang diberlakukan sendiri (secara default, ambang batas ini tidak diaktifkan), di mana permintaan baru ditolak langsung hingga lebih banyak sumber daya tersedia. Pengaturan berikut berlaku untuk server tabular dan multidmensional kecuali dinyatakan sebaliknya.

Konfigurasi memori default

Di bawah konfigurasi default, setiap instans mengalokasikan sejumlah kecil RAM (40 MB hingga 50 MB) saat startup, bahkan jika instans menganggur. Pengaturan konfigurasi adalah per instans. Jika Anda menjalankan beberapa instans, seperti instans tabular dan multidmensional pada perangkat keras yang sama, setiap instans akan mengalokasikan memorinya sendiri secara independen dari instans lain.

Pengaturan Deskripsi
LowMemoryLimit Untuk instans multidmensional, ambang batas bawah di mana server pertama kali mulai merilis memori yang dialokasikan untuk objek yang jarang digunakan.
VertiPaqMemoryLimit Untuk instans tabular, ambang batas yang lebih rendah di mana server pertama kali mulai merilis memori yang dialokasikan untuk objek yang jarang digunakan.
TotalMemoryLimit Ambang batas atas di mana Analysis Services mulai merilis memori secara lebih agresif untuk memberi ruang bagi permintaan yang sedang dieksekusi serta permintaan prioritas tinggi baru.
HardMemoryLimit Ambang batas lain di mana Analysis Services mulai menolak permintaan langsung karena tekanan memori.

Referensi properti

Properti berikut berlaku untuk mode tabular dan multidmensional kecuali ditentukan sebaliknya.

Nilai antara 1 dan 100 mewakili persentase Total Memori Fisik atau Ruang Alamat Virtual, mana yang kurang. Nilai lebih dari 100 mewakili batas memori dalam byte.

LowMemoryLimit

Properti angka floating-point presisi ganda 64-bit yang ditandatangani yang menentukan ambang pertama di mana Analysis Services mulai merilis memori untuk objek berprioritas rendah, seperti cache yang jarang digunakan. Setelah memori dialokasikan, server tidak merilis memori di bawah batas ini. Nilai defaultnya adalah 65; yang menunjukkan batas memori rendah adalah 65% dari memori fisik atau ruang alamat virtual, mana saja yang kurang.

TotalMemoryLimit

Menentukan ambang yang ketika tercapai, menyebabkan server membatalkan alokasi memori memberi ruang untuk permintaan lain. Ketika batas ini tercapai, instans akan mulai secara perlahan menghapus memori dari cache dengan menutup sesi yang kedaluwarsa dan membongkar perhitungan yang tidak digunakan. Untuk SQL Server Analysis Services, Nilai defaultnya adalah 80% memori fisik atau ruang alamat virtual, mana yang kurang. Nilai default untuk Azure Analysis Services didasarkan pada paket Anda dan tidak dapat dikonfigurasi. TotalMemoryLimit harus selalu kurang dari HardMemoryLimit.

HardMemoryLimit

Menentukan ambang memori setelah instans secara agresif mengakhiri sesi pengguna aktif untuk mengurangi penggunaan memori. Semua sesi yang dihentikan akan menerima kesalahan tentang dibatalkan oleh tekanan memori. Nilai default, nol (0), berarti HardMemoryLimit akan diatur ke nilai tengah antara TotalMemoryLimit dan total memori fisik sistem; jika memori fisik sistem lebih besar dari ruang alamat virtual proses, maka ruang alamat virtual akan digunakan sebagai gantinya untuk menghitung HardMemoryLimit. Nilai ini tidak dapat dikonfigurasi untuk Azure Analysis Services.

QueryMemoryLimit

Berlaku untuk Azure Analysis Services dan SQL Server 2019 dan yang lebih baru hanya Analysis Services. Properti tingkat lanjut untuk mengontrol berapa banyak memori yang dapat digunakan selama kueri.

Dalam SQL Server 2019 Analysis Services, pengaturan ini hanya berlaku untuk penanggulangan memori di mana hasil kueri DAX menengah dibuat selama pemrosesan kueri. Ini tidak berlaku untuk kueri MDX.

Di Azure Analysis Services dan SQL Server 2022 dan yang lebih baru Analysis Services, jika properti FiturResourceTrackingEnabled diaktifkan, pengaturan ini tidak hanya terbatas pada penjemput memori. Ini berlaku untuk semua memori yang digunakan oleh kueri DAX dan MDX.

Ditentukan dalam persentase hingga 100. Ketika lebih dari 100, itu dalam byte. Menetapkan nilai 0 berarti tidak ada batas yang ditentukan. Untuk Azure Analysis Services, nilai default ditentukan oleh paket Anda.

Paket Default
D1 80
Semua paket lainnya 20
VirtualMemoryLimit

Properti tingkat lanjut yang tidak boleh Anda ubah, kecuali di bawah panduan dukungan Microsoft.

VertiPaqPagingPolicy

Hanya untuk instans tabular, menentukan perilaku paging jika server kehabisan memori. Nilai yang valid adalah sebagai berikut:

Pengaturan Deskripsi
0 (default untuk Azure Analysis Services) Menonaktifkan halaman. Jika memori tidak cukup, pemrosesan gagal dengan kesalahan kehabisan memori. Jika Menonaktifkan penomor, Anda harus memberikan hak istimewa Windows ke akun layanan. Lihat Mengonfigurasi Akun Layanan (Analysis Services) untuk petunjuknya.
1 (default untuk SQL Server Analysis Services) Properti ini memungkinkan paging ke disk menggunakan file halaman sistem operasi (pagefile.sys).

Ketika diatur ke 1, pemrosesan cenderung gagal karena batasan memori karena server akan mencoba halaman ke disk menggunakan metode yang Anda tentukan. Mengatur properti VertiPaqPagingPolicy tidak menjamin bahwa kesalahan memori tidak akan pernah terjadi. Kesalahan kehabisan memori masih dapat terjadi dalam kondisi berikut:

  • Memori tidak cukup untuk semua kamus. Selama pemrosesan, server mengunci kamus untuk setiap kolom dalam memori, dan semua ini bersama-sama tidak boleh lebih dari nilai yang ditentukan untuk VertiPaqMemoryLimit.

  • Ruang alamat virtual tidak cukup untuk mengakomodasi proses.

Untuk mengatasi kesalahan kehabisan memori yang terus-menerus, Anda dapat mencoba mendesain ulang model untuk mengurangi jumlah data yang perlu diproses, atau Anda dapat menambahkan lebih banyak memori fisik ke komputer.

VertiPaqMemoryLimit

Hanya untuk instans tabular, jika halaman ke disk diizinkan, properti ini menentukan tingkat konsumsi memori (sebagai persentase total memori) di mana penomor dimulai. Defaultnya adalah 60. Jika konsumsi memori kurang dari 60 persen, server tidak akan halaman ke disk. Properti ini tergantung pada VertiPaqPagingPolicyProperty, yang harus diatur ke 1 agar paging terjadi.

HighMemoryPrice

Properti tingkat lanjut yang tidak boleh Anda ubah, kecuali di bawah panduan dukungan Microsoft.

MemoryHeapType

Properti tingkat lanjut yang tidak boleh Anda ubah, kecuali di bawah panduan dukungan Microsoft. Nilai yang valid dalam SQL Server 2016 SP1 dan Analysis Services yang lebih baru adalah sebagai berikut:

Pengaturan Deskripsi
-1 (default) Otomatis. Mesin akan memutuskan mana yang akan digunakan.
1 Analysis Services HEAP.
2 Windows LFH.
5 Alokator hibrid. Alokator ini akan menggunakan Windows LFH untuk <= alokasi 16 KB dan Tumpukan AS untuk >alokasi 16 KB.
6 Alokator Intel TBB. Tersedia di SQL Server 2016 SP1 (dan yang lebih baru) Analysis Services.
HeapTypeForObjects

Properti tingkat lanjut yang tidak boleh Anda ubah, kecuali di bawah panduan dukungan Microsoft. Nilai yang valid adalah sebagai berikut:

Pengaturan Deskripsi
-1 (default) Otomatis. Mesin akan memutuskan mana yang akan digunakan.
0 Windows timbunan LFH.
1 Alokator slot Analysis Services.
3 Setiap objek memiliki Timbunan Analysis Services sendiri.
DefaultPagesCountToReuse

Properti tingkat lanjut yang tidak boleh Anda ubah, kecuali di bawah panduan dukungan Microsoft.

HandleIA64AlignmentFaults

Properti tingkat lanjut yang tidak boleh Anda ubah, kecuali di bawah panduan dukungan Microsoft.

MidMemoryPrice

Properti tingkat lanjut yang tidak boleh Anda ubah, kecuali di bawah panduan dukungan Microsoft.

MinimumAllocatedMemory

Properti tingkat lanjut yang tidak boleh Anda ubah, kecuali di bawah panduan dukungan Microsoft.

Pra-alokasi

Properti tingkat lanjut yang tidak boleh Anda ubah, kecuali di bawah panduan dukungan Microsoft.

SessionMemoryLimit

Properti tingkat lanjut yang tidak boleh Anda ubah, kecuali di bawah panduan dukungan Microsoft.

WaitCountIfHighMemory

Properti tingkat lanjut yang tidak boleh Anda ubah, kecuali di bawah panduan dukungan Microsoft.

Lihat juga

Properti server di Analysis Services
Menentukan Mode Server instans Analysis Services