Re: Kernel memory leak with x11/nvidia-driver

From: Ultima <ultima1252_at_gmail.com>
Date: Wed, 3 Feb 2016 20:56:05 -0500
Just tested your script, there is definitely a memory leak.

 I also ran into really weird behavior. Running your script
in tmux after starting and stopping an xorg session a few,
tmux completely froze in the session. Creating a new
window in the session was also completely frozen,
however this is only visually as commands still worked,
just showed a blank black screen.

Also unloading the kernel modules for
nvidia and nvidia-modeset (new as of 358.16ish) did
not free the memory.

On Wed, Feb 3, 2016 at 8:24 PM, Ultima <ultima1252_at_gmail.com> wrote:

>  Apologies, this should have been in my initial reply.
>
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201340
> or here for attachment
> https://bz-attachments.freebsd.org/attachment.cgi?id=165694
>
> I haven't actually had a chance to do anything after upgrading
> from stable other than see the corrupted console for myself.
> Lack of time =/
>
> On Wed, Feb 3, 2016 at 2:41 PM, Eric van Gyzen <vangyzen_at_freebsd.org>
> wrote:
>
>> On 02/03/2016 10:54, Eric van Gyzen wrote:
>> > I just set up a new desktop running head with x11/nvidia-driver.  I've
>> > discovered a memory leak where pages disappear from the queues, never to
>> > return.  Specifically, the total of
>> >     v_active_count
>> >     v_inactive_count
>> >     v_wire_count
>> >     v_cache_count
>> >     v_free_count
>> > drops, eventually becoming /much/ less than v_page_count.
>>
>> Here is a script to log the data:
>>
>> #!/bin/sh
>>
>> readonly QUEUES="active inactive wire cache free total"
>> readonly FORMAT="%s\t%s\t%s\t%s\t%s\t%s\n"
>>
>> vm_page_counts() {
>>     for queue in $QUEUES; do
>>         if [ "$queue" != "total" ]; then
>>             sysctl -n vm.stats.vm.v_${queue}_count
>>         fi
>>     done
>> }
>>
>> sum() {
>>     s=0
>>     while [ $# -gt 0 ]; do
>>         s=$((s + $1))
>>         shift
>>     done
>>     echo $s
>> }
>>
>> print_counts() {
>>     counts="`vm_page_counts`"
>>     printf "$FORMAT" $counts `sum $counts`
>> }
>>
>> printf "$FORMAT" $QUEUES
>> print_counts
>> while sleep 60; do
>>     print_counts
>> done
>>
>> _______________________________________________
>> freebsd-current_at_freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org
>> "
>>
>
>
Received on Thu Feb 04 2016 - 00:56:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:02 UTC