4.03.2026

poolmon, bellek sızıntısı ve WDK

Görev yöneticisinin bellek sekmesinde, sağ alt köşede yer alan bir "disk belleği olmayan havuz" (non paged pool) bölümü var. Bu bölüm, kullanıcı bellek harcamalarının dışında sürücü ve sistem bileşenlerinin kullandığı ve hiçbir zaman diske (sanal bellek) yazılmayan miktarı gösterir.

Ekran görüntüleri, benim yaşadığım sorunlu bilgisayara ait değil.


Bu değerin normal bir bilgisayarda en fazla 300-400 MB civarında olması beklenir. Ama bir bilgisayarda bu 1,6 GB'ı bulmuştu. Olası bir sorun, bellek sızıntısı (memory leak). Bir (genelde) sürücü işletim sisteminden bellek talep eder ama onu işi bittiğinde boşaltmadan yenisini isterse buna bellek sızıntısı denir. Bu tür sürücülerin bu kadar yüksek miktarlarda diske yazılmayan bellek kullanması olası değildir. Acaba ne olmuş?

Bu tür durumlarda poolmon kullanılabilir. Bu araç, sürücülerin diske yazılmayan bellek kullanımlarını inceler. Her alanın doğrudan hangi bileşen/süreç tarafından kullanıldığını görmek mümkün değil, ama talep edilen alanlar için bir etiket kullanılır. Bu etiketten şişkin alanın hangi bileşen/süreç ile ilgili olduğu bulunabilir. Poolmon'u indirmek için Windows Driver Kit'i indirmek gerek. Bu kit, başka bileşenlerle de gelir. wdksetup.exe'yi çalıştırdıktan sonra buna göre seçenekleri işaretlemek gerek.

WDK ile birlikte poolmon'u kurduktan sonra çalıştırınca aşağıdaki gibi bir çıktı verir.

Burada ilk sütun, etiket. İkinci sütundaki veriler Paged (diske yazılabilecek şekilde rezerve edilen bellek alanı) veya Nonp (diske yazılmayacak şekilde rezerver edilen bellek alanı). Benim durumum için önemli olan alanlar Nonp olanlar. Üçüncü sütun, Allocs, kaç kez rezervasyon yapıldığını gösteriyor. Dördüncü sütun Frees ise kaç kez rezerve edilen alanların serbest bıraklıdığını gösteriyor. Beşinci sütun Diff ise Allocs ve Frees arasındaki fark; yani rezerve edilip henüz serbest bırakılmamış alan sayısı. Dikkat, miktar değil. Miktar ise altıncı sütunda, Bytes alanında gösteriliyor. Bu işte, ilgili etiketin toplam aktif kullandığı diske yazılmayan bellek alanı. Son sütun Per Alloc ise yapılan işlemlerin ortalaması. Benim durumum için "b"ye basarak Bytes alanına göre sıralamak faydalı oldu. Bazı klavye kısayolları:

p : Verileri type alanına göre süz (sadece Paged, Nonp veya ikisini de içerecek şekilde)
e : Pencerenin altında toplamları göster/gizle (varsayılan kapalı)
a : Allocs alanına göre sırala
f : Frees alanına göre sırala
d : Diffs alanına göre sırala
m : Per Allocs alanına göre sırala
b : Bytes alanına göre sırala

Peki bunu gördük, ne yapabiliriz? Elimizden çok fazla şey gelmiyor. Yapılabilecek şeyler, görüntülenen etiketin hangi sürücüye ait olduğunu bulmak, sonrasında bu sürücüyü güncellemek ve güncel sürücünün bellek sızıntısı yapmayacağını ummak.

Benim durumumda görüntülenen etiket, ismc'ydi. Bu da Intel Rapid Store Technology (RST) ile ilgiliydi. Sorun çözme adımları olarak önce ilgili event tracing'i bilgisayar açıldıktan sonra devre dışı bıraktım.

logman stop IntelRST -ets

ETW içindeki veri kaynaklarını inceledim.

logman query -ets

Intel ile ilgili sürücüleri listeledim

driverquery /v | findstr /i

Hiç biri faydalı olmadı. Aynı sorundan şikayetçi kaç kişi var acaba?

İçinde ismc etiketi geçen sürücüleri aramak için şöyle bir komut önerilmiş.

findstr /m /s /l ismc *.sys

Bu aslında metin dosyalarının içinde ismc anahtar kelimesini arayan bir komut. Bunun powershell eşdeğerini denemek istedim. 

dir *.sys -rec -ea silent | sls ismc | select path

Konuyu biraz saptırdım ama yukarıdaki eşdeğer, asıl komuttan daha fazla sayıda çıktı üretti. Bunun sebebi findstr'nin unicode desteğinin olmaması. sls (Select-String) unicode desteğine sahip olduğu için daha fazla dosya bulur.

---

https://woshub.com/huge-memory-usage-non-paged-pool-windows/
https://community.intel.com/t5/Rapid-Storage-Technology/Non-Paged-pool-memory-usage-too-high/m-p/1243440
https://www.tenforums.com/performance-maintenance/101582-very-high-ram-usage-all-time-w10.html
https://community.intel.com/t5/Rapid-Storage-Technology/Non-Paged-pool-unusually-high-ismc-non-paged-pool/td-p/1288935
https://www.tenforums.com/performance-maintenance/168382-high-ram-usage-non-paged-pool-size.html

3.03.2026

Ağ kabuk komutlarının konum erişimi istemesi

Windows'da netsh komutunu kullanarak yapılan ağ taraması sırasında şöyle bir mesaj çıkıyor.

Interface name : Wi-Fi
Network shell commands need location permission to access WLAN information. Turn on Location services on the Location page in Privacy & security settings.

Here is the URI for the Location page in the Settings app:
ms-settings:privacy-location
To open the Location page in the Settings app, hold down the Ctrl key and select the link, or run the following command:
start ms-settings:privacy-location

Or, to open the Location page from the Run dialog box, press Windows logo key + R, and then copy and paste the URI above.

The requested operation requires elevation (Run as administrator).

Varsayılan olarak uygulamaların benim kontolüm dışında konum bilgime erişmesine ve paylaşmasına izin vermiyorum. Bu sebeple yukarıdaki gibi bir mesaj bana ilginç gelirdi; alt tarafı bir wifi taraması yapmak istiyorum, program neden benim konum bilgilerime erişmek istiyor diye düşünürdüm.

Bu aslında Android üzerindeki wifi tarama araçlarında da oluyordu. Bu duruma bakış açım da sanki işletim sistemi (Windows veya Android) benim yapmak istediğim kablosuz tarama işlemlerinde konum bilgimi okuyup paylaşacak şeklinde olurdu. Yanlış bir bakış açısıymış.

Burada aslında şu oluyor; kullanıcı (ben) veya bir program ağ kabuk komutları aracılığı ile tarama yaparsa bu aslında dolaylı olarak konum bilgime de sahip olabilecekleri anlamına gelir. Bu sebeple bu gibi işlemlerin bir yetkilendirmeye tabi olmasını istemişler. Yani aslında yukarıdaki gibi bir mesaj bana sadece "bu işlemi yapmaya yetkin yok" diyor. Yapmak için verilmesi gereken yetki konum erişimi yetkisi.

27.02.2026

Kablosuz erişim noktası bilgilerini bulmak (Linux)

Şuradaki işlemlerin eşdeğerlerini Linux'ta yapmak istiyorum. Olasılıklardan biri nmcli kullanmak. nmcli, network manager olarak bilinen çoğu linux dağıtımında kurulu gelen ağ bağlantılarını yönetmek için kullanılan sistemin komut satırı (ncurse) bileşeni.

Aşağıdaki komut, bilgisayardaki ağ arayüzlerinin durumlarını gösterir. Ethernet arayüzleri için kablonun takılı olup olmadığını, wifi için ise mevcut kablosuz bir ağa bağlı olup olmadıklarını gösterir.

nmcli dev status

Şu komut ise bilgisayarın daha önce bağlanmış olduğu kablosuz ağları gösterir. Bu, Windows'daki hatırlanan kablosuz ağ profillerinin karşılığıdır.

nmcli con show

Bilgisayardaki arayüzlerin listesini almak için

nmcli dev

ve hatta daha da ayrıntılı görebilmek için

nmcli dev show

kullanılabilir. Örnek bir çıktı şöyle olur:

GENERAL.DEVICE:              wlp4s0
GENERAL.TYPE:                wifi
GENERAL.HWADDR:              <mac-address>
GENERAL.MTU:                 1500

GENERAL.STATE:               100 (bağlandı)
GENERAL.CONNECTION:          <ssid>
GENERAL.CON-PATH:            /org/freedesktop/NetworkManager/ActiveConnection/2
IP4.ADDRESS[1]:              192.168.1.5/24
IP4.GATEWAY:                 192.168.1.100
IP4.ROUTE[1]:                dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 600
IP4.ROUTE[2]:                dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 600

IP4.DNS[1]:                  8.8.8.8
IP4.DNS[2]:                  1.1.1.1

IP6.ADDRESS[1]:              <ip6-address>
IP6.GATEWAY:                 --
IP6.ROUTE[1]:                dst = fe80::/64, nh = ::, mt = 1024

Arayüzlerden birini seçip sadece onunla ilgili ayrıntıları görebilmek için

nmcli dev show wlp4s0

Etrafımızdaki kablosuz ağların listesini görmek için

nmcli dev wifi

Bu komutun çıktısında asterisk karakteri "*" ile gösterilen satır, bizim bağlı olduğumuz ağdır. Bu satırın BSSID sütununda bağlı olduğumuz erişim noktasının MAC adresi benzeri kimliği yer alır.

 

25.02.2026

Kablosuz erişim noktası bilgilerini bulmak (Windows)

Bulunduğumuz yerdeki kablosuz ağların listesini komut satırından görmek için

netsh wlan show networks

SSHD 1 : <ağ-1>
    Network type   : Infrastructure
    Authentication : WPA2-Personal
    Encryption     : CCMP  

Bu ağlardan birine bağlanmak için

netsh wlan connect ssid="asdf" name="asdf"

Veya bağlı olan ağ ile bağlantıyı kesmek için

netsh wlan disconnect

Bilgisayarımdaki kablosuz bağlantı arayüzü (bir ağa bağlıysa o ağ) ile ilgili bilgileri görüntülemek için 

netsh wlan show interfaces

Name : Wi-Fi
Description : Intel(R) Wi-Fi 6E AX211 160MHz
GUID : <guid>
Interface type : Primary
State : connected
SSID : <ağ-adı>
AP BSSID : <MAC-adresi>
Band : 5 GHz
Connected Akm-cipher : [ akm =..., cipher = ... ]
Network type : Infrastructure
Radio type : 802.11ac
Authenticate : WPA2-Personal
Cipher : CCMP
Connection mode : Auto Connect
Receive rate (Mbps) : 866.7
Transmit rate (Mbps) : 650
Signal : 92%

Rssi : -45
Profile : <profil-adı>
    Qos MSCS Configured : 0
    Qos Map Configured : 0
    QosMap Allowed by Policy : 0

Kablosuz arayüzün yeteneklerini görüntülemek için

netsh wlan show wirelesscapabilities

Firmware Version : D4.05
Network monitor mode : Not supported
Promiscuous Mode : Not Supported
MAC Randomization : Supported
WPA3 SUITE-B Authentication : Supported 

Çok uzun bir çıktısı var, sadece belli başlı satırları aldım. Sürücümüzün yeteneklerini görmek için

netsh wlan show drivers

Interface name: Wi-Fi

    Driver                    : Intel(R) Wi-Fi 6 AX201 160MHz
    Vendor                    : Intel Corporation
    Provider                  : Intel
    Date                      : 21.07.2025
    Version                   : 23.160.0.4
    INF file                  : oem279.inf
    Type                      : Native Wi-Fi Driver
   
Radio types supported     : 802.11b 802.11g 802.11n 802.11a 802.11ac 802.11ax
    FIPS 140 mode supported   : Yes
    802.11w Management Frame Protection supported : Yes
    Hosted network supported  : No
    Authentication and cipher supported in infrastructure mode:
                                Open             None
                                Open             WEP-40bit
                                Open             WEP-104bit
                                Open             WEP
                                WPA-Enterprise   TKIP
                                WPA-Enterprise   CCMP
                                WPA-Personal     TKIP
                                WPA-Personal     CCMP
                                WPA2-Enterprise  TKIP
                                WPA2-Enterprise  CCMP
                                WPA2-Personal    TKIP
                                WPA2-Personal    CCMP
                                Open             Vendor defined
                                WPA3-Personal    CCMP
                                Vendor defined   Vendor defined
                                WPA3-Enterprise 192 Bits GCMP-256
                                OWE              CCMP
                                WPA3-Enterprise  CCMP

    Number of supported bands : 2
                                2.4 GHz [ 0 MHz - 0 MHz]
                                5 GHz [ 0 MHz - 0 MHz]

    IHV service present       : Yes
    IHV adapter OUI           : [00 00 00], type: [00]
    IHV extensibility DLL path: C:\WINDOWS\system32\somefile.dll
    IHV UI extensibility ClSID: <clsid>
    IHV diagnostics CLSID     : <clsid>
    Wireless Display Supported: Yes (Graphics Driver: Yes, Wi-Fi Driver: Yes)

Var olan bir profili dosyaya yedeklemek için

netsh wlan export profile name="BWN" key=clear filename=C:\asdf\x.xml

Dosyaya yedeklediğimiz bilgilerden bir profil oluşturmak için

netsh wlan add profile filename=C:\asdf\x.xml #user=all

 

24.02.2026

Windows Web Exprience Pack

Windows 11'de ekranın sol alt köşesinde gözüken hava durumu ve benzeri bilgileri gösteren araç, hiç kullanmadığım bir bileşen.

winget uninstall "Windows Web Experience pack"

kullanarak kaldırdım.

18.02.2026

Linux sunucuyu kim yeniden başlatmış veya kapatmış

Yetkili bir kullanıcı tarafından yeniden başlatılan sunucunun journalctl loglarında şöyle bir satır görünür:

Aug 19 08:38:16 bilgisayaradi systemd-logind[1235]: The system will reboot now!

Burada bilgisayaradi ile gözüken alan kullanıcı adı değil, bilgisayar adı.

Bu olay kaydı systemd-logind birimi tarafından oluşturulmuş. Bu birim tarafından oluşturulan diğer kayıtları da görmek için

journalctl -u systemd-logind

kullanılabilir. Faydalı diğer kayıtlar şunlar olabilir: 

Nov 13 04:44:48 bilgisayaradi systemd-logind[1009]: The system will power off now! 
Nov 13 04:44:48 bilgisayaradi systemd-logind[1009]: System is powering down. 
journalctl -g "Linux version"

Burada gözüken tarih ve saatten +/- birkaç 10 saniye etrafını kısıtlayarak yapılacak bir aramada aşağıdaki regex ile kullanıcı adına erişilebilir.

journalctl --since "Nov 13 04:44:00" --until "Nov 13 04:45:00" | grep -e "Session [[:digit:]] of User"
Nov 13 04:44:47 bilgisayaradi systemd[1]: Stopping session-2.scope - Session 2 of User metin... 
Nov 13 04:44:47 bilgisayaradi systemd[1]: Stopped session-2.scope - Session 2 of User metin.

 Ayrıca sunucumuzun yeniden başlama olaylarını listelemek için de

journalctl --list-boots

komutu kullanılabilir. Sentetik bir yöntem olarak, journalctl kayıtlarında ilk yer alan 

Aug 14 14:53:07 arsiv kernel: Linux version 6.8.0-71-generic (buildd@lcy02-amd64-053) (x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ub

gibi bir ifadeyi de arayabilirdim:

journalctl -g " Linux version "

 

17.02.2026

Windows'da kablosuz ağlar

Şifresini girerek bağlandığımız kablosuz ağa ait şifreleri Windows hatırlar. Hatırlanan şifreleri ona sorup öğrenebiliriz.

Önce hangi kablosuz ağları hatırlıyor diye soralım.

netsh wlan show profile
Profiles on interface Wi-Fi:

...

User profiles
-------------
    All User Profile     : GalaxyAxx
    All User Profile     : MisafirAgi
    All User Profile     : P40

Bu örnekte bilgisayar 3 tane kablosuz ağı hatırladı. Her ağın ayrıntılarını, şifreyi gösterecek şekilde görmek için

netsh wlan show profile "GalaxyAxx" key=clear

kullanabiliriz. Yüksek ihtimalle bu bilgilerin arasında şifre de olur. Security settings başlığının altında Key Content bilgisini sadece göstermek için

netsh wlan show profile "GalaxyAxx" key=clear | find /i "key content" 

Key Content : CokGizliParola